为什么我读到的400变成了400.0
6 2026-01-25 12:53 2026-01-25 12:53
这是 pandas 自动类型推断 导致的!
原因分析
查看你的 CSV 文件:
csv
复制
preset_name,d1,f1,expo1,d2,f2,expo2
1.当前飞机,230,670,0.55,120,400,0.50 ← 400 是整数
2.上次对比,230,670,0.50,120,400,0.44 ← 400 是整数
3.适合旋转,200,670,0.57,85,284.398,0.57 ← 284.398 是浮点数!
4.恢复默认,200,670,0.57,200,670,0.57 ← 670 是整数
关键问题:第3行
284.398 是浮点数,导致 整列 f2 被 pandas 推断为 float64 类型!Python
复制
import pandas as pd
df = pd.read_csv("config.csv")
print(df.dtypes)
# 输出类似:
# preset_name object
# d1 int64
# f1 int64
# expo1 float64
# d2 int64
# f2 float64 ← 这一列变成 float 了!
# expo2 float64
所以当读取
400 时,实际上是 400.0(float),用 str() 转换就变成 "400.0"。
全部评论