【发布时间】:2021-07-30 19:30:01
【问题描述】:
我有一个df
cur val
USD 50
GBP 100
EUR 150
我正在尝试将所有值转换为英镑:
def sales_gbp(df):
cur = df.cur
value = df.val
if cur == 'USD':
return val*0.72
elif cur == 'EUR':
return val*0.85
else:
return val
df['value_GBP'] = df.apply(sales_gbp(df), axis=1)
但我明白了:
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
----> 5 如果 cur == 'USD':
df.dtypes 为cur 和val 返回object。我已经阅读了this answer,但我仍然无法将该功能应用于我的df。
【问题讨论】:
-
不要传
df,传df.apply(sales_gbp axis=1)