You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame中所有int类型列转换为float类型?

将DataFrame中所有int类型列转为float的实现方法

当然可以通过判断数据类型来完成这个需求,这也是最直接高效的思路!下面分享两种常用的实现方式,你可以根据场景选择:

方法一:用select_dtypes快速筛选并转换

这种方法代码简洁,适合大多数常规场景,能一次性选中所有整数类型的列(包括int32、int64等子类):

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    'id': [101, 102, 103],
    'score': [95, 88, 76],
    'price': [29.9, 39.9, 49.9],
    'name': ['Alice', 'Bob', 'Charlie']
})

# 筛选所有int类型列并转为float
int_columns = df.select_dtypes(include=['int']).columns
df[int_columns] = df[int_columns].astype(float)

# 验证结果
print(df.dtypes)

运行后你会看到原来的id和score列已经从int64变成float64了。

方法二:遍历列逐一判断类型(更灵活)

如果你需要对类型判断做更精细的控制(比如识别带空值的Int64类型列),可以用pd.api.types.is_integer_dtype来遍历判断:

for col in df.columns:
    # 精准判断列是否为整数类型(包括可空整数类型)
    if pd.api.types.is_integer_dtype(df[col]):
        df[col] = df[col].astype(float)

这种方法的优势是能覆盖更多边缘情况,比如当你的整数列存在缺失值、用Int64(大写I)类型存储时,也能准确识别并转换。

小提示

转换完成后,可以用df.dtypes命令查看所有列的数据类型,确认转换是否符合预期。

内容的提问来源于stack exchange,提问作者user13494862

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 20:32:33