python - 将 Pandas 数据框转换为 float

标签 python python-3.x pandas dataframe

我无法将我的数据框中的数据类型从字符串转换为 float (它们是作为字符串或空字符串的数值):

calcMeanPrice_df = dessertApples_df.iloc[:, 5:17]      #slice of columns

for col  in calcMeanPrice_df:                          #iterate columns
    pd.to_numeric(col, errors = 'coerce')              #attempt to convert to numeric

calcMeanPrice_df.dtypes                                #return data column types

Out[21]:
4     object
5     object
6     object
7     object
8     object
9     object
10    object
11    object
12    object
13    object
14    object
15    object
dtype: object

我做错了什么?

最佳答案

假设的数据框:

df = pd.DataFrame({'a':['5','10'], 'b':['9','7']})

当前数据类型:

In [391]: df.dtypes
Out[391]: 
a    object
b    object

将整个 df 列转换为数字:

df = df.apply(pd.to_numeric)

结果:

In [393]: df.dtypes
Out[393]: 
a    int64
b    int64

仅将选定的列转换为数字:

In [396]: df = pd.DataFrame({'a':['5','10'], 'b':['9','7']})
In [397]: df['a'] = df['a'].apply(pd.to_numeric)
In [398]: df.dtypes
Out[398]: 
a     int64
b    object

关于python - 将 Pandas 数据框转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48000347/

相关文章:

python - 在 Django 中引用相关字段值

python - 查找列表python中最后一次出现的项目

python - 傅立叶变换 2D 工件 - 我做错了什么?

Python Flask WTForms FloatField 允许 1,0 和 1.0 允许逗号和点

python-3.x - 字符串未更改为大写

python - 循环使用 Rocket.Chat API

Python:检测输入仅适用于 1 个字符长的字符串

python - 如何拆分pandas中同时具有空值和某些值的列?

Python-选择特定时间范围的pandas

Python如何从pysftp连接打开din文件