使用Pandas查找按特定列分组时空值的百分比

2024-04-29 14:45:15 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我的数据帧的一个小快照:

avg_rating_of_driver    avg_rating_by_driver    bins
0   4.7 5.0 (3, 125]
1   5.0 5.0 NaN
2   4.3 5.0 (2, 3]
3   4.6 4.9 (3, 125]
4   4.4 4.9 (3, 125]
5   3.5 5.0 (1, 2]
6   NaN 4.0 (0, 1]
7   5.0 5.0 (1, 2]
8   4.5 5.0 (1, 2]
9   NaN 5.0 (0, 1]
10  5.0 4.9 (0, 1]
11  4.0 5.0 (2, 3]
12  NaN 5.0 (0, 1]
13  4.0 5.0 NaN
14  NaN 5.0 (0, 1]
15  NaN 5.0 (0, 1]
16  5.0 3.0 (0, 1]
17  3.9 4.8 NaN
18  4.6 4.8 (3, 125]
19  5.0 5.0 NaN
20  NaN 3.0 (0, 1]
21  NaN 5.0 (0, 1]
22  NaN 5.0 NaN
23  5.0 5.0 NaN
24  4.5 4.7 (3, 125]
25  NaN 5.0 (0, 1]

垃圾箱具有以下值:

^{pr2}$

我感兴趣的是按仓位分组并找出每个仓位中空值的百分比。在

这意味着,当按bins分组时,有多少个percent列具有NA值。在


Tags: of数据bydrivernan快照感兴趣avg
1条回答
网友
1楼 · 发布于 2024-04-29 14:45:15

这样的怎么样:

dg = df.groupby('bins')
for col in df.columns:
    if col!='bins':  
       print (dg[col].apply(pd.isnull).mean())

因为dg[col].apply(pd.isnull)是一个1和0'的数组,它的平均值等于所有1除以总数的总和,也就是NaN值的百分比!在

也可以不使用for循环来编写它:

^{pr2}$

但本例也返回bins的零值行。在

相关问题 更多 >