我创建了一个由两列组成的数据框。我想计算这两列出现的次数。
数据框看起来像-
No Name
1 A
1 A
5 T
9 V
Nan M
5 T
1 A
我想使用 value_counts() 来获得这样的数据帧-
No Name Count
1 A 3
5 T 2
9 V 1
Nan M 1
我尝试执行 df[["No", "Name"]].value_counts()
来计算除 nan 行之外的所有内容。有没有办法使用 value_counts() 来计算 Nan
?
答案 0 :(得分:5)
您可以将 groupby
与 dropna=False
一起使用:
df.groupby(['No', 'Name'], dropna=False, as_index=False).size()
输出:
No Name size
0 1.0 A 3
1 5.0 T 2
2 9.0 V 1
3 NaN M 1
附言有趣的是,pd.Series.value_counts
方法也支持 dropna
参数,但 pd.DataFrame.value_counts
方法不支持