Pandas 使用另一个条件的输出更新字段值

问题描述 投票:0回答:0

我有以下数据框:

我想要实现的是,如果 id1 不等于 id2,我想用 x 值(x 是 id1 等于 id2 时)更新 y 值(在

name
列)。

test = pd.DataFrame({'id1':[1, 1, 1, 2, 2, 1],
                     'id2': [1, 1, 1, 1, 1, 1],
                     'name': ['x', 'x', 'x', 'y', 'y', 'x']})

我做的是这样的:

test.loc[test['id1'] != test['id2'], 'name'] = test[test['id1'] == test['id2']]['name'].tolist()[0]

效果很好,但我不喜欢我解决它的方式(因为这个

.tolist()[0]
)。我觉得还有一个更正确的解决方案。

python pandas dataframe indexing mask
© www.soinside.com 2019 - 2024. All rights reserved.