复制其中具有 NaN 值的列并添加前缀

Copying column that have NaN value in it and adding prefix

我有 x 列包含 NaN 值

使用以下代码我可以检查

for index,value in df.iteritems():

   if value.isnull().values.any() == True:

这将向我展示哪些卷具有 NaN 的布尔值。

如果为真,我需要创建新列,其名称中将包含前缀 'Interpolation' + 该列的名称。 因此,为了弄清楚名称为 'XXX' 的列是否有 NaN,我需要创建名称为 'Interpolation XXX' 的新列。 任何想法如何做到这一点?

像这样:

In [80]: df = pd.DataFrame({'XXX':[1,2,np.nan,4], 'YYY':[1,2,3,4], 'ZZZ':[1,np.nan, np.nan, 4]})                                                                                                            

In [81]: df                                                                                                                                                                                                 
Out[81]: 
   XXX  YYY  ZZZ
0  1.0    1  1.0
1  2.0    2  NaN
2  NaN    3  NaN
3  4.0    4  4.0

In [92]: nan_cols = df.columns[df.isna().any()].tolist() 
In [94]: for col in df.columns: 
    ...:     if col in nan_cols: 
    ...:         df['Interpolation ' + col ] = df[col] 
    ...:                                                                                                                                                                                                    

In [95]: df                                                                                                                                                                                                 
Out[95]: 
   XXX  YYY  ZZZ  Interpolation XXX  Interpolation ZZZ
0  1.0    1  1.0                1.0                1.0
1  2.0    2  NaN                2.0                NaN
2  NaN    3  NaN                NaN                NaN
3  4.0    4  4.0                4.0                4.0