python - 条件语句产生奇怪的结果?

标签 python numpy

我想创建一个将货币转换为欧元的新功能。这个过程很简单。我有 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'])

MoreInfo

关于python - 条件语句产生奇怪的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59031329/

相关文章:

pandas - 为每个 CohortGroup 分配适当的 CohortPeriod 计数

python - 溢出错误 : cannot convert float infinity to integer

python - 有效地计算图像python的方差

python - 如何根据其他列值动态填充列值?

python - 在训练评估期间报告其他指标 simpletransformers

python - 查找具有最大表面积(不包括相交区域)的边界框轮廓

python - 导入错误 : DLL load failed when importing win32clipboard in application frozen with cx_Freeze

python - Django - 如何为模型的外键制作表格?

python - 使用 savez 命名 numpys 关键字,同时使用任意数量的参数

python - Pandas :如何在加入数据框时聚合两个列表列