我正在处理pandas DataFrames,其中列可能包含表示数字的字符串,可能包含意外的非数字字符,字符串表示的数字可能是float或int类型.例如,对于625452242.95的浮点数,DataFrame可能包含类似"$ 625,452,242.95"的内容,对于等于53000395的int,可能包含"53.000.395".数据框架正在从CSV文件中读取,并且可能非常大.
将DataFrame中的所有此类字符串转换为适当的数字类型的最有效方法是什么?谢谢.
您也可以尝试替换这些符号和分隔符:
In [27]: df = pd.DataFrame([['$1,111'], ['$2,222']])
In [28]: df
Out[28]:
0
0 $1,111
1 $2,222
In [29]: df[0] = df[0].str.replace(r'[$,]', '').astype('float')
In [30]: df
Out[30]:
0
0 1111
1 2222
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7167 次 |
| 最近记录: |