首页 > 解决方案 > 将数据类型“object”转换为“Float”

问题描述

过去几天我一直在使用 CSV 文件。我想要的是将数据转换为 CSV 中的浮点格式,以便将小数点后的最后几位四舍五入。当我在 pandas 数据帧上运行 Dataframe “dtypes”时,结果发现数据既不是浮点数也不是整数。数据类型为对象,如下图所示:

在此处输入图像描述

正如您在屏幕截图中看到的,很少有数字数据采用对象格式。所以我想知道,如何在python中将对象类型转换为浮点数。

任何有关此的信息将不胜感激。谢谢 !

标签: pythonpandascsv

解决方案


其他人已经用 .astype() 回答了评论中的问题……但这里有一些代码来解释它。

就像专业提示一样,请提供启动代码来创建示例数据框,以便人们更容易地帮助您。

import pandas as pd

# step 1: create sample dataframe
df = pd.DataFrame({'strain': ['10.123456789', '10.23456789', '10.3456789'],
                   'temp': ['1.7', '1.8', '1.9'],
                   'weight': ['100.4', '100.5', '100.6'],
                  })

# step 2: examine dataframe and dtypes
print('Dataframe: ')
print(df.head())
print()
print('Dtypes: ')
print(df.dtypes)
print()

# step 3: convert the 'strain' column to float, round to 2 decimal places
df['strain_float'] = df['strain'].astype(float).round(2)

# step 4: examine dataframe and dtypes
print('Dataframe: ')
print(df.head())
print()
print('Dtypes: ')
print(df.dtypes)
print()
df

在此处输入图像描述


推荐阅读