gpt4 book ai didi

python - 当值与另一列匹配时回填 Pandas 系列中的值

转载 作者:行者123 更新时间:2023-12-01 03:01:07 26 4
gpt4 key购买 nike

我有一个像这样的数据框:

import numpy as np

raw_data = {'surface': [np.nan, np.nan, 'round', 'square'],
'city': ['San Francisco', 'Miami', 'San Francisco', 'Miami']}

df = pd.DataFrame(raw_data, columns = ['surface', 'city'])

看起来像这样:

        surface city
0 NaN San Francisco
1 NaN Miami
2 round San Francisco
3 square Miami

我需要将旧金山行的最早实例填充为“圆形”,并将较早的迈阿密行填充为“方形”。使用 .fillna(method='bfill') 不会考虑其他列值,而只是用舍入填充所有较早的行。

结果将是:

        surface city
0 round San Francisco
1 square Miami
2 round San Francisco
3 square Miami

最佳答案

您可以使用groupby.bfill;按城市列对数据框进行分组,然后使用bfill:

df.groupby('city').bfill()

# surface city
#0 round San Francisco
#1 square Miami
#2 round San Francisco
#3 square Miami

关于python - 当值与另一列匹配时回填 Pandas 系列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43839154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com