经过一些分组操作后,我得到了以下结果数据框:
GridCode User_ID DLang
3 224591119 es
ja
zh
4 224591119 es
6 146381773 en
9 17925282 ca
63102456 en
106225728 ca
229125779 ca
我想为每个
GridCode
计算每个User_ID
中的DLang
个数,建立新的列,例如'User_ID_(DLang)'。结果数据帧将显示为:GridCode User_ID_es User_ID_ja User_ID_zh ...
3 1 1 1 ...
4 1 0 0 ...
6 0 0 0 ...
到目前为止,我使用unstuck方法获得了一些结果,但是知道我还不知道如何计算User_ID及其频率。
最佳答案
我不确定我了解您要做什么,也许是这样?
df.groupby(['GridCode','DLang']).count().unstack().fillna(0)
User_ID
DLang ca en es ja zh
GridCode
3 0 0 1 1 1
4 0 0 1 0 0
6 0 1 0 0 0
9 3 1 0 0 0