从数据框中,我想计算列中每个唯一值有多少行具有相同的值。
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
,其中错误更复杂
答案 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
但是,它已经回答了here。下次问之前先谷歌一下!