我有一个数据帧列表,其中一些数据帧具有NaN
值。到目前为止,我可以使用这个link识别单个数据帧的NaN
值。
如何找到数据帧具有NaN
值的列表索引。dffs
的示例列表,
[
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,
...]
我需要得到一个列表
indexes
0
和2
中有NaN
值的结果。到目前为止我试过这个,
df_with_nan = []
for df in dffs:
df_with_nan.append(df.columns[df.isnull().any()])
根据上面的循环,我得到列名,
for
和var1
。但是,当循环遍历时,我需要这些数据帧的索引。任何帮助或建议都很好。 最佳答案
你就快到了…只需使用enumerate
与索引循环,并使用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)
当然,单子比较短,但你喜欢什么就选什么。