我有一个DataFrame
,有几个列。一列包含一个正在使用的货币符号,例如欧元或美元符号。另一列包含预算值。例如,在一行中,它可能意味着5000欧元的预算,而在下一行中,它可能意味着2000美元的预算。
在pandas中,我想在我的DataFrame中添加一个额外的列,将预算标准化为欧元。因此,基本上,对于每一行,如果货币列中的符号是欧元符号,则新列中的值应该是预算列中的值 * 1,如果货币列中的符号是美元符号,则新列中的值应该是预算列中的值 * 0.78125。
我知道如何添加一列,用值填充它,从另一列复制值等。但不知道如何基于另一列的值有条件地填充新列。
有什么建议吗?
6条答案
按热度按时间of1yzvn41#
你可能想做
bbuxkriu2#
通过另一种方式,类似的结果可能是编写一个函数,对一行执行所需的操作,使用
row['fieldname']
语法访问各个值/列,然后对其执行DataFrame.apply方法这与这里所联系的问题的答案相呼应:pandas基于其他列的值创建新列
r7knjye23#
一个不需要为
numpy
额外导入的选项:7ajki6be4#
把Tom Kimber的建议更进一步,你可以使用函数字典来为你的函数设置各种条件。这种解决办法扩大了问题的范围。
我用的是一个个人应用程序的例子。
eoxn13cs5#
Panda的
loc
也可以用于:b4lqfgs46#