Pandas DataFrame列名异常 如何修正并重命名为Code、product
实现方法
核心操作分为3步:将被误识别为列名的首行数据插回数据集顶部、重命名列、重置索引即可得到目标结构。
可直接运行的代码示例
import pandas as pd # 复现你当前的错误DataFrame(实际使用时替换成你导入的异常df即可) df = pd.DataFrame( [['2', 'hat'], ['3', 'shoes']], columns=['1', 'shirt'] ) # 将原有列名转为单行数据,和原数据纵向拼接 df = pd.concat( [pd.DataFrame([df.columns.tolist()], columns=df.columns), df], ignore_index=True ) # 重命名两列为指定名称 df.columns = ['Code', 'product'] # 可选:将Code列转为数值类型 df['Code'] = df['Code'].astype(int)
执行后得到的DataFrame共3条记录,结构如下:
| Code | product |
|---|---|
| 1 | shirt |
| 2 | hat |
| 3 | shoes |
根源避坑方案
后续导入数据时可以直接指定header=None参数,告诉pandas源数据没有表头,不会自动把第一行识别为列名,同时直接指定目标列名,从导入阶段就避免结构错误,示例:
# 读csv示例,其他格式读取参数逻辑一致 df = pd.read_csv('你的数据文件路径', header=None, names=['Code', 'product'])
内容的提问来源于stack exchange,提问作者user19372021
相关产品推荐
相关产品推荐

