Python 熊猫:按列分组并计算重复次数

Python 熊猫:按列分组并计算重复次数,python,pandas,group-by,Python,Pandas,Group By,我从另一个数据帧获取数据帧时遇到一些问题 总而言之,我有一个数据框架: Word | ... | ... | Code w1 | ... | ... | 1234 w1 | ... | ... | 2345 ... w1 | ... | ... | 5678 w2 | ... | ... | 5678 w2 | ... | ... | 1234 ... wXX | ... | ... | YYYY 我想从这个数据帧中获得一个新的数据帧,如下所示: Code | w1 | w

我从另一个数据帧获取数据帧时遇到一些问题

总而言之,我有一个数据框架:

Word | ... | ... | Code
w1   | ... | ... | 1234
w1   | ... | ... | 2345
...
w1  | ... | ... | 5678
w2  | ... | ... | 5678
w2  | ... | ... | 1234
...
wXX  | ... | ... | YYYY
我想从这个数据帧中获得一个新的数据帧,如下所示:

Code |  w1 |  w2 |  w3 ...
1234 | #w1 | #w2 | #w3 ...
2345 | #w1 | #w2 | #w3 ...
也就是说,一个新的df,其索引是代码,其列由每个单词标记。在每一行中,我想计算一个单词有多少次确定的代码。有什么办法吗?我一直在尝试使用groupby,但我被卡住了

任何帮助都将不胜感激:-)

您需要使用
aggfunc=len

print (df)
  Word  Code
0   w1  1234
1   w1  2345
2   w1  5678
3   w2  5678
4   w2  1234

df = df.pivot_table(index='Code', columns='Word', aggfunc=len)
print (df)
Word   w1   w2
Code          
1234  1.0  1.0
2345  1.0  NaN
5678  1.0  1.0
如果需要并删除列名(在
pandas
0.18.0
中新增):

如果需要将
NaN
替换为
0
,则添加参数
fill\u value=0

df = df.pivot_table(index='Code', columns='Word', aggfunc=len, fill_value=0)
       .reset_index()
       .rename_axis(None, axis=1)

print (df)
   Code  w1  w2
0  1234   1   1
1  2345   1   0
2  5678   1   1
df = df.pivot_table(index='Code', columns='Word', aggfunc=len, fill_value=0)
       .reset_index()
       .rename_axis(None, axis=1)

print (df)
   Code  w1  w2
0  1234   1   1
1  2345   1   0
2  5678   1   1