Python 乘以大熊猫中的浮点->;逗号消失的数字

Python 乘以大熊猫中的浮点->;逗号消失的数字,python,pandas,Python,Pandas,我在应用熊猫的汇率时遇到了问题。 当某些数字包含逗号时,会将其转换为“nan”,例如:1789将被视为nan 我从代码开始: import pandas as pd usd_rate = 0.77 salary = pd.read_csv("salary.csv") #create revenue clean (convert usd to gbp) salary['revenue_gbp'] = salary.usd_revenue * usd_rate 所以我得到了这个错误: TypeE

我在应用熊猫的汇率时遇到了问题。 当某些数字包含逗号时,会将其转换为“nan”,例如:1789将被视为nan

我从代码开始:

import pandas as pd
usd_rate = 0.77
salary = pd.read_csv("salary.csv")

#create revenue clean (convert usd to gbp)
salary['revenue_gbp'] = salary.usd_revenue * usd_rate
所以我得到了这个错误:

TypeError:无法将序列与“float”类型的非整数相乘。

我读过,你不能用浮点数乘以列。因此,我将我的列转换为数字:

salary.net_revenue = pd.to_numeric(salary.usd_revenue, errors='coerce')
salary['revenue_gbp'] = salary.usd_revenue  * usd_rate 
现在我没有任何错误,但当我查看我的文件时,所有999.99以上的数字-因此包含逗号的数字-都放在“nan”下

我想这可能是翻译问题。。但我在这里感到困惑。。 有什么想法吗


非常感谢

美元收入可能还不是数字类型。试试这个:

工资['usd_收入]]=工资['usd_收入]。映射(浮动)

在实际线路之前:


工资['revenue\u gbp']=salary.usd\u revenue*usd\u rate

共享您的数据和列数据类型您的列工资['usd\u revenue']的数据类型是什么?你可以通过salary.usd_revenue.dtype来检查,它应该是一个float或int,但你的可能是一个文本字段,这就是为什么它会给出这个错误。如果CSV文件包含数字类型,你的代码对我来说是有效的。您的错误消息表明,
salary.usd_revenue
正在按顺序读取。你需要进一步解析它来提取你想要乘的数字。所以我已经检查了数据类型,我得到了:数据类型('O')?谢谢!我试过了,但得到了另一个错误:ValueError:float的文本无效():1767.260006我感到困惑在这种情况下,尝试使用salary['usd\u revenue']=pd.numeric(salary['usd\u revenue'])