繁体   English   中英

如何根据数据框中的所有 id 计算 NaN 行,但将通过检查特定列来考虑 nan?

[英]How to count NaN rows against all ids in dataframe but nan will be consider by checking specific column?

语境:

我有一个有 7 列的 Plantcube 文件,该文件是由某些设备的响应生成的,并且每秒设备响应温度或湿度以及 cube_id 和时间戳是默认情况下在所有 400k 记录中永远不会错过的东西......

问题:

我想找到设备在没有温度或湿度的情况下发送响应的 id 计数,查找 id 及其计数将帮助我跟踪发送响应有问题的立方体。

在此处输入图像描述

如果你看第 3 行 Cube ID 48 和第 5 行 Cube ID 90 没有任何信息,所以我想数一下 id 48、90 和其他人有多少次相同的情况。

预期输出,例如:

多维数据集 ID -> 缺失计数

48 -> 1030

90 -> 790

400286 -> 36

文件链接: https ://drive.google.com/file/d/1xZST8n27IcVsFor1qqu90jZ1E2cJ6pHb/view?usp=sharing

谢谢

mask1 = df['Temperature Layer A'].isna()
mask2 = df['Temperature Layer B'].isna()
mask3 = df['Humidity Layer A'].isna()
mask4 = df['Humidity Layer B'].isna()
df[mask1 & mask2 & mask3 & mask4]['Cube ID'].value_counts()

输出:

16    1564
20    1561
45    1561
75    1560
21    1560
      ...
70    1537
40    1537
37    1536
10    1533
46     613

您可以使用isnaall

df.loc[df.drop('CubeID',axis=1).isna().all(1)]['CubeID'].value_counts()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM