Python 熊猫用逗号(而不是小数点分隔符)将数字从对象转换为数字
Im my dataframe我有一列数字,格式为逗号分隔符,如Python 熊猫用逗号(而不是小数点分隔符)将数字从对象转换为数字,python,pandas,dataframe,Python,Pandas,Dataframe,Im my dataframe我有一列数字,格式为逗号分隔符,如0,5,推断的数据类型为object。我需要把它们转换成数字,但是当我尝试 df['ColumnName']=pd.to_numeric(df['ColumnName'])我得到以下异常: ValueError Traceback (most recent call last) pandas/_libs/lib.pyx in pandas._libs.lib.maybe_
0,5
,推断的数据类型为object。我需要把它们转换成数字,但是当我尝试
df['ColumnName']=pd.to_numeric(df['ColumnName'])
我得到以下异常:
ValueError Traceback (most recent call last)
pandas/_libs/lib.pyx in pandas._libs.lib.maybe_convert_numeric()
ValueError: Unable to parse string "2,55"
我试着在谷歌上搜索,但找不到解决办法。to_numeric
方法的签名不允许指定分隔符
关于如何解决此问题,您有什么想法吗?您可以将
,
替换为
:
df['ColumnName'] = pd.to_numeric(df['ColumnName'].str.replace(',', '.'))
另一方面,如果使用
pd.read_csv
读取数据,则有一个选项decimal=',
第二个选项仍然会导致问题,因为在另一列中使用了点。