我有一个数据帧列表,其中一些数据帧具有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,
...]

我需要得到一个列表indexes02中有NaN值的结果。
到目前为止我试过这个,
df_with_nan = []
for df in dffs:
    df_with_nan.append(df.columns[df.isnull().any()])

根据上面的循环,我得到列名,forvar1。但是,当循环遍历时,我需要这些数据帧的索引。任何帮助或建议都很好。

最佳答案

你就快到了…只需使用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)

当然,单子比较短,但你喜欢什么就选什么。

09-06 01:39