Python 用列名填充 NaN 的 Dataframe 问题

Python Dataframe issue of filling NaN with column name

我希望我的数据框在具有其他列值的列中填充 NaN。但是,我的数据框用列名而不是它的值填充 NaN 。它很奇怪。我不知道。为什么。

df=
                          colA    colB
                                       
2018-11-20 06:57:30       NaN  20.60646
2018-11-20 06:57:45       NaN  23.96100
2018-11-20 06:58:00       NaN  27.31554
2018-11-20 06:58:15       NaN  30.67008
2019-05-22 18:45:00  20.07324  20.76620
2019-05-22 18:45:15  19.92117  20.44672
2019-05-22 18:45:30  19.61703  20.12724

df['colA'].fillna('colB',inplace=True)

print(df)

df=
                          colA    colB
                                       
2018-11-20 06:57:30       colB 20.60646
2018-11-20 06:57:45       colB 23.96100
2018-11-20 06:58:00       colB 27.31554
2018-11-20 06:58:15       colB 30.67008
2019-05-22 18:45:00  20.07324  20.76620
2019-05-22 18:45:15  19.92117  20.44672
2019-05-22 18:45:30  19.61703  20.12724

你需要'.'运算符或列名作为索引运算符的字符串。

df['colA'].fillna(df.colB,inplace=True)
df['colA'].fillna(df['colB'],inplace=True)