如何将名称包含Average的列从字符类型转换为整数类型
批量转换含"Average"列的字符类型为整数类型
基于Pandas的解决方案
如果你的数据是以Pandas DataFrame存储的,可以通过以下两种方式批量处理:
方法1:筛选目标列后批量转换
import pandas as pd # 读取数据(替换为你的数据读取方式) df = pd.read_csv('your_dataset.csv') # 筛选所有列名包含"average"的列(不区分大小写) target_columns = df.columns[df.columns.str.contains('average', case=False)] # 批量转换为整数类型,处理无法转换的异常值 df[target_columns] = df[target_columns].apply(pd.to_numeric, errors='coerce').astype('Int64')
case=False确保无论列名是"Average"还是"average"都能匹配到errors='coerce'会把非数字字符转为空值,若希望遇到异常直接报错,可改为errors='raise'astype('Int64')支持空值的整数类型,若确定无空值,直接用astype(int)即可
方法2:遍历列名逐个转换(更直观)
import pandas as pd df = pd.read_csv('your_dataset.csv') for col in df.columns: # 检查列名是否包含"average"(不区分大小写) if 'average' in col.lower(): df[col] = pd.to_numeric(df[col], errors='coerce').astype('Int64')
前置检查建议
转换前可以先排查目标列的异常值,避免转换后出现意外:
target_columns = df.columns[df.columns.str.contains('average', case=False)] for col in target_columns: print(f"列 {col} 的唯一值:") print(df[col].unique())
内容的提问来源于stack exchange,提问作者repigyou
相关产品推荐
相关产品推荐

