合并两个数据框后,我的数据框中存在一些空白,可以根据相邻的列进行填充(我有更多的列和DF中的行,但我专注于这三列): DF示例:
唯一ID |类型位置
A 1 Land
A NaN NaN
B 2 sub
B NaN NaN
C 3 Land
C 3 Land
最终,我希望填写三列:
唯一ID |类型位置
A 1 Land
A 1 Land
B 2 sub
B 2 sub
C 3 Land
C 3 Land
我尝试过:
df.loc[df.Type.isnull(), 'Type'] = df.loc[df.Type.isnull(), 'Unique ID'].map(df.loc[df.Type.notnull()].set_index('Unique ID')['Type'])
但是它抛出: InvalidIndexError:重新索引仅对具有唯一值的Index对象有效
我在这里想念什么? -谢谢
答案 0 :(得分:0)
答案 1 :(得分:0)
您的示例表明您要向前填充。您可以这样执行(完整代码):
import pandas as pd
from io import StringIO
clientdata = '''ID N T
A 1 Land
A NaN NaN
B 2 sub
B NaN NaN
C 3 Land
C 3 Land'''
df = pd.read_csv(StringIO(clientdata), sep='\s+')
df["N"] = df["N"].fillna(method="ffill")
df["T"] = df["T"].fillna(method="ffill")
print(df)