你好朋友,我对熊猫中嵌套的value_counts非常困惑

我有示例数据帧:

SenderID        Status        long
john            1              2
john            0              1
eddie           1              1
eddie           1              2
eddie           1              2
eddie           0              1


我想要这样的输出:

Sender ID       Status         long      sum
John            0               1        1
                                2        0
                1               1        0
                                2        1
eddie           0               1        1
                                2        0
                1               1        1
                                2        2


有人知道吗?谢谢,我使用pd.series.value_counts但没有用

最佳答案

我认为需要groupbysize进行总计,然后按reindexMultiIndex.from_product添加缺少的类别:

df = df.groupby(['SenderID','Status','long']).size()
mux = pd.MultiIndex.from_product(df.index.levels, names=df.index.names)

df = df.reindex(mux, fill_value=0).reset_index(name='count')
print (df)
  SenderID  Status  long  count
0    eddie       0     1      1
1    eddie       0     2      0
2    eddie       1     1      1
3    eddie       1     2      2
4     john       0     1      1
5     john       0     2      0
6     john       1     1      0
7     john       1     2      1

关于python - 如何在 Pandas 中嵌套value_counts,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51359716/

10-12 20:26