我有一个数据框,其中一列中的空值我想使用索引值来填充。最好的方法是什么?
假设我的数据框长这样:
>>> import numpy as np
>>> import pandas as pd
>>> d=pd.DataFrame(index=['A','B','C'], columns=['Num','Name'], data=[[1,'Andrew'], [2, np.nan], [3, 'Chris']])
>>> print d
Num Name
A 1 Andrew
B 2 NaN
C 3 Chris
我可以使用以下代码行来获取我正在寻找的内容:
d['Name'][d['Name'].isnull()]=d.index
然而,我收到了以下警告:“正在尝试为数据帧的切片副本设置值”
我想最好还是使用fillna或loc来完成此操作,但我无法弄清楚如何使用它们。 我尝试了以下方法:
>>> d['Name']=d['Name'].fillna(d.index)
>>> d.loc[d['Name'].isnull()]=d.index
有什么建议,哪个选项最好?