如何将pandas DataFrame所有float64列批量转换为object类型
pandas自动转换所有float64列为object类型并去除.0后缀方案
实现思路
自动筛选DataFrame中所有float64类型的列批量完成格式转换,全程无需手动指定列名,其余类型的列不受任何影响。
完整代码
import pandas as pd # 读取原始数据 df = pd.read_csv("filename.csv", sep="|") # 筛选所有float64类型的列 float64_cols = df.select_dtypes(include='float64').columns # 批量转换格式并去除末尾.0后缀 for col in float64_cols: df[col] = df[col].astype(str).str.replace(r'\.0$', '', regex=True)
注意事项
- 正则匹配规则
r'\.0$'仅识别字符串末尾的.0后缀,不会修改原始内容中间存在的.0,保证原始数据格式不变 - 转换后的float64列自动变为object类型,其余列的数据类型和内容完全保留
- 可执行
print(df.dtypes)验证转换后的列类型是否符合预期
内容的提问来源于stack exchange,提问作者Naveen Gupta
相关产品推荐
相关产品推荐

