如果我有这个数据:
# data
data = [['london_1', 10,'london'], ['london_2', 15,'london'], ['london_3', 14,'london'],['london',49,'']]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns = ['station', 'info','parent_station'])所以:
station info parent_station
0 london_1 10 london
1 london_2 15 london
2 london_3 14 london
3 london 49 我想根据父站的info值覆盖子站的info值:
station info parent_station
0 london_1 49 london
1 london_2 49 london
2 london_3 49 london
3 london 49 有什么简单的方法吗?
其他信息:
发布于 2021-11-24 14:22:12
您可以map然后条件分配
df.loc[df.parent_station.ne(''),'info'] = df.parent_station.map(df.set_index('station')['info'])
df
Out[329]:
station info parent_station
0 london_1 49.0 london
1 london_2 49.0 london
2 london_3 49.0 london
3 london 49.0 https://stackoverflow.com/questions/70097721
复制相似问题