如何在熊猫中嵌套value_counts

时间:2018-07-16 10:28:06

标签: python pandas dataframe

你好朋友,我对熊猫中嵌套的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但没有用

1 个答案:

答案 0 :(得分:0)

我认为需要groupbysize进行汇总计数,然后按reindex中的MultiIndex.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