小编Leo*_*cil的帖子

用熊猫计算每行的NaN

我试图弄清楚如何在数据框中输出First_Name列的频率;每行。到目前为止,我已经成功地做到了这一点,但我也想知道如何计算每行的NaN值和Non-NaN值。

以下是具有两列的数据框:First_Name和Favorite_Color。我想看看是否可以统计First_Name列。输出代码时,我只能得到Non-NaN值的计数。是否有一种方法还可以包含NaN值的计数,并将其计入数据帧的一部分?

import pandas as pd

d = 
{
'First_Name': ["Jared", "Lily", "Sarah", "Bill", "Bill", "Alfred", None], 
'Favorite_Color': ["Blue", "Blue", "Pink", "Red", "Yellow", "Orange", "Red"]
}

df = pd.DataFrame(data=d)

df['countNames'] = df.groupby('First_Name')['First_Name'].transform('count')

print(df)

Run Code Online (Sandbox Code Playgroud)

我希望能同时获得NaN和非NaN值的计数,但是我只能得到非NaN值的计数。

编辑:谢谢大家!

我真的很喜欢阅读大家的答案,看到这么多不同的解决方案真的很有趣!我认为SH-SF的答案很好,因为它更容易理解,但确实需要使用numpy库作为答案。

python pandas

5
推荐指数
1
解决办法
76
查看次数

标签 统计

pandas ×1

python ×1