假设我已使用df.fillna(' Unavailable')用字符串(' Unavailable')替换了我的数据框中的所有空值。我现在需要仔细检查“不可用”的计数。匹配空值的。有很多列和行,所以我不想指定列名等。 有没有办法找到所有'不可用'跨越所有列而不使用for循环? 如果使用循环遍历所有列,则当列包含数字类型时,我将面临问题。 做一个value_count是没有意义的,因为我只想知道'不可用''计数而不是所有值的计数。 更多,所以我觉得应该有一种简单的方法来做我可能遗失的事情。
答案 0 :(得分:0)
你可以这样做:
(df.astype(str)=='Unavailable').values.sum()
答案 1 :(得分:0)
如果您想了解所有价值观pd.melt()
和pd.groupby()
可能有助于您探索数据
例如:
foo bar foobar
0 Unavailable asd asd
1 asd Unavailable asd
2 asd Unavailable asd
3 asd Unavailable asd
4 Unavailable asd asd
5 asd asd asd
6 Unavailable asd Unavailable
7 asd asd Unavailable
8 asd asd asd
融化并分组df
df_1 = pd.melt(df, value_vars=['foo ', 'bar ', 'foobar']).groupby("value").count()