Python Pandas/Numpy-按另一列填充缺少的值
下午好,我有一个数据框 数据帧=dfPython Pandas/Numpy-按另一列填充缺少的值,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,下午好,我有一个数据框 数据帧=df NPI Fa Name 1100 1100 Johnson 1100 5555 2222 Meghan 2222 4444 4444 我的目标是根据相应的NPI(如果有)填写缺失的FA名称 NPI Fa Name 1100 Johnson 1100 Johnson 1100 Johnson 5555 2222
NPI Fa Name
1100
1100 Johnson
1100
5555
2222 Meghan
2222
4444
4444
我的目标是根据相应的NPI(如果有)填写缺失的FA名称
NPI Fa Name
1100 Johnson
1100 Johnson
1100 Johnson
5555
2222 Meghan
2222 Meghan
4444
4444
我知道这可能是一项简单的任务,但在编码方面我很难理解。请帮忙 如果顺序重要,则与正向和反向填充缺失值一起使用:
#if necessary
df['Fa Name'] = df['Fa Name'].replace('', np.nan)
df['Fa Name'] = df.groupby('NPI')['Fa Name'].apply(lambda x: x.ffill().bfill())
print (df)
NPI Fa Name
0 1100 Johnson
1 1100 Johnson
2 1100 Johnson
3 5555 NaN
4 2222 Meghan
5 2222 Meghan
6 4444 NaN
7 4444 NaN
如果不是,请先按两列排序,然后使用:
df = df.sort_values(['NPI','Fa Name'])
df['Fa Name'] = df.groupby('NPI')['Fa Name'].ffill()
print (df)
NPI Fa Name
1 1100 Johnson
0 1100 Johnson
2 1100 Johnson
4 2222 Meghan
5 2222 Meghan
6 4444 NaN
7 4444 NaN
3 5555 NaN