给定以下数据框: import pandas as pd
d = pd.DataFrame({'a':[1,2,3],'b':[np.nan,5,6]})
d
a b
0 1 NaN
1 2 5.0
2 3 6.0
Run Code Online (Sandbox Code Playgroud)
对于值为“NaN”的任何列,我想用列名替换该值。我的真实数据有很多列。
想要的结果:
a b
0 1 b
1 2 5.0
2 3 6.0
Run Code Online (Sandbox Code Playgroud)
提前致谢!
IUC:
In [60]: d.fillna(d.columns.to_series())
Out[60]:
a b
0 1 b
1 2 5
2 3 6
Run Code Online (Sandbox Code Playgroud)