我有一个数据帧列表,其中一些数据帧具有NaN值.到目前为止,我可以使用此link标识单个数据帧的NaN值.
如何找到数据框具有NaN值的列表的索引.
DFF的样本列表,
[
var1 var1
14.171250 13.593813
13.578317 13.595329
10.301850 13.580139
9.930217 NaN
6.192517 13.561943
NaN 13.565149
6.197983 13.572509,
var1 var2
2.456183 5.907528
5.052017 5.955731
5.960000 5.972480
8.039317 5.984608
7.559217 5.985348
6.933633 5.979438,
var1 var1
14.171250 23.593813
23.578317 23.595329
56.301850 23.580139
90.930217 22.365676
89.192517 33.561943
86.23654 53.565149
NaN 13.572509,
...]
我需要在具有NaN值的列表索引0和2中获得结果.
到目前为止,我已经尝试过了
df_with_nan = []
for df in dffs:
df_with_nan.append(df.columns[df.isnull().any()])
在上面的for循环中,我得到列名var1和var2.但是,当我遍历数据框时,我需要这些数据框的索引.任何帮助或建议都会很棒.
解决方法:
您快到了…只需使用枚举就可以遍历索引,然后使用df.isnull().values.any()(比df.isnull().any().max()更快)进行测试:
df_with_nan = []
for i, df in enumerate(dffs):
if df.isnull().values.any():
df_with_nan.append(i)
当然,列表比较短,但是随您喜欢.