【发布时间】:2020-11-15 15:17:17
【问题描述】:
我有这个数据框:
df = pd.DataFrame({'Player': ['Pele', 'Platini', 'Beckenbauer'],
'Position': ['Forward', 'Midfielder', 'Defender']})
我有这个功能需要应用到数据框,创建一个新列“颜色”。
def color(position):
if position == 'Forward':
color = 'black'
elif position == 'Midfielder':
color = 'white'
elif position == 'Defender':
color = 'red'
return color
我试过了:
df['Color'] = df.apply(color, axis=1)
但我得到了错误:
ValueError: ('The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().', 'occurred at index 0')
我该怎么做?
【问题讨论】:
-
您正在传递所有列值。所以你需要指定你所指的列值。