熊猫查找列的值计数

时间:2021-01-22 19:30:53

标签: python pandas

从数据框中,我想计算列中每个唯一值有多少行具有相同的值。

df = pd.DataFrame({'c':[1,1,2,2,3,3],'l1':['a','a','a','a','b','b'],'l3':['b','a','b','a','a','a'],'l4':[1,2,3,4,5,6]})
cols = ['c','l1']
out = (df.set_index(cols).assign(pair=df.groupby(cols)['l3']
         .agg(makePair)).reset_index()
         .reindex(df.columns.union(['pair'],sort=False),axis=1))
    out['l1'].value_counts

我得到的结果很糟糕

<bound method IndexOpsMixin.value_counts of 0    a
1    a
2    a
3    a
4    b
5    b
Name: l1, dtype: object>

我期待

a 3
b 2

实际要求是对'pair'进行值计数,即out['pair'].value_counts,其中错误更复杂

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用 value_counts()

df = pd.DataFrame({'c':[1,1,2,2,3,3],'l1':['a','a','a','a','b','b'],'l3':['b','a','b','a','a','a'],'l4':[1,2,3,4,5,6]})
df['l1'].value_counts() # l1 is your column name

enter image description here

但是,它已经回答了here。下次问之前先谷歌一下!