我有一个熊猫数据框,第一列中有单词。我想在同一数据框中创建列,其中包含每个单词中每个字母的出现次数。
数据框应该类似于:
Word A B C D E ...
BED 0 1 0 1 1
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以做到这一点并更新它以添加到数据框中的新单词?如果该字母不存在,它应该为该字母创建一个列
我试过这个 -
for i in range(len(df)):
u = df.iat[i, 0]
for j in u:
df.iat[i, j] = u.count(j)
Run Code Online (Sandbox Code Playgroud)
不起作用...
我有一列值以字符串形式列出,以';分隔。',我想为每个单独的值生成true / false列。该数据帧很大(100k行,13个值),我当前的代码在该数据帧中每秒大约执行1.5行。有专门的熊猫功能可以更快地做到这一点吗?还是我犯了一个明显的错误,使我的代码变慢了?
数据如下:
id likes colour
0 1 blue
1 2 blue; green; red
2 3 red; purple
3 4 purple; blue
4 5 yellow; red
5 6 yellow
Run Code Online (Sandbox Code Playgroud)
输出为:
id likes colour red yellow blue purple green
0 1 blue False False True False False
1 2 blue; green; red True False True False True
2 3 red; purple True False False True False
3 4 purple; blue False False True True False
4 5 yellow; red True …
Run Code Online (Sandbox Code Playgroud)