我想创建一个将货币转换为欧元的新功能。这个过程很简单。我有 2 列,一列是货币类型,即美元,另一列是金额。我正在创建一个名为“price_in_eur”的第三列,它所做的是查看货币类型,如果它不是“EUR”,那么它应该将货币列的类型乘以 1.1,否则它应该被保留但是当我运行代码我得到以下错误:
ValueError: 要么同时给出 x 和 y,要么都不给出
这是我的代码:
x = data[['type_of_currency','amount']]
x.type_of_currency= x.amount.str.extract('(\d+)', expand=False)
x['type_of_currency'] = x['amount'].astype(float)
x['price_in_euro'] = np.where(x['type_of_currency']=='USD',x['amount']*1.1)
有人可以帮忙吗?我认为这与 np.where 语句正在查看 type_of_currency
列有关,该列是一个字符串但不确定。
最佳答案
您需要在条件后的 np.where
中提供两个参数。 --> numpy.where(条件[, x, y])
例如:
x['price_in_euro'] = np.where(x['type_of_currency']=='USD',x['amount']*1.1, x['amount'])
关于python - 条件语句产生奇怪的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59031329/