最近几天我一直在使用CSV文件。我想要的是将数据转换为CSV浮点格式,以便将小数点后的最后几位取整。当我在熊猫数据帧上运行数据帧“ dtypes” 时,事实证明数据既不是浮点数也不是整数。数据类型为对象,如下图所示:
如您在屏幕快照中所见,几乎没有数字数据采用对象格式。所以我想知道,如何将对象类型转换为在python中浮动。
任何对此的信息将不胜感激。谢谢!
答案 0 :(得分:1)
其他人已经使用.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