python - 将数据类型“object”转换为“Float”
问题描述
过去几天我一直在使用 CSV 文件。我想要的是将数据转换为 CSV 中的浮点格式,以便将小数点后的最后几位四舍五入。当我在 pandas 数据帧上运行 Dataframe “dtypes”时,结果发现数据既不是浮点数也不是整数。数据类型为对象,如下图所示:
正如您在屏幕截图中看到的,很少有数字数据采用对象格式。所以我想知道,如何在python中将对象类型转换为浮点数。
任何有关此的信息将不胜感激。谢谢 !
解决方案
其他人已经用 .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
推荐阅读
- javascript - 文本/语音/类别频道删除所有覆盖权限
- jquery - 如何使用 jQuery 捕获 html 表单提交以删除 sessionStorage 数据
- sql - 删除重复项的 LINQ 表达式
- arrays - 使用 NSPredicate 从 NSManagedObject 集合属性中过滤出字符串数组
- php - 无法从字符串中删除 %e2%80%8b Unicode
- c - pthread 是否在忙于内部等待?
- deeplearning4j - MultiDataSetIterator 与 INDArrays(不是 csv 文件)和多输出 DL4J
- jenkins - 量角器测试随机失败并出现错误“失败:ECONNREFUSED 连接 ECONNREFUSED 127.0.0.1:32572”
- laravel - Laravel API 资源返回未定义属性:stdClass::$book",
- python - 没有 numpy 的矩阵列访问