【发布时间】:2021-10-19 13:34:27
【问题描述】:
我指的是this thread。我想根据另一列中的值更新列值。
name_list = ['C', 'E']
df = pd.DataFrame([('A', 'buy'),
('B', 'sell'),
('C', 'hold'),
('D', 'loan'),
('E', 'hold')], columns=['name', 'action'])
name action
1 A buy
2 B sell
3 C hold
4 D loan
5 E hold
这是我想出的两个尝试:
df['action'] = df.apply(lambda x: 'removed' if x['name'] in name_list else df['action'])
df['action'] = df.apply(lambda x: 'removed' if x['name'].isin(name_list) else df['action'])
以上两次尝试都会出现此错误KeyError: 'name'
预期的输出是
name action
1 A buy
2 B sell
3 C removed
4 D loan
5 E removed
我做错了什么?
【问题讨论】:
标签: python python-3.x pandas