小编Chr*_*s A的帖子

计算 pandas DataFrame 中单词中字母的出现次数

我有一个熊猫数据框,第一列中有单词。我想在同一数据框中创建列,其中包含每个单词中每个字母的出现次数。

数据框应该类似于:

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)

不起作用...

python dataframe python-3.x pandas

4
推荐指数
1
解决办法
806
查看次数

如果术语在单元格中,则熊猫会生成“真/假”列

我有一列值以字符串形式列出,以';分隔。',我想为每个单独的值生成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)

python dataframe python-3.x pandas

0
推荐指数
1
解决办法
70
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2

python-3.x ×2