求助:Pandas中如何将表头列表合并至目标DataFrame?
解决DataFrame表头合并问题
嗨,我来帮你快速搞定这个问题!你已经完成了最关键的文件读取步骤,现在只需要把表头列表正确赋值给数据DataFrame的列名就可以了,具体操作如下:
步骤1:将表头DataFrame转为一维列表
因为你读取表头文件时用了header=None,df_column_names是一个每行存一个表头的DataFrame。我们需要把它转成一维列表,才能直接赋值给数据的列名:
# 提取表头文件第一列的所有值转为列表(如果表头是一行多列,就换成iloc[0, :]) column_names = df_column_names.iloc[:, 0].tolist()
步骤2:给数据DataFrame设置表头
直接把上面得到的列表赋值给df的columns属性就行:
df.columns = column_names
完整代码示例
把你的原有代码和上面的步骤整合起来,就是这样:
import pandas as pd # 读取无表头的数据集 df = pd.read_csv(file_dir + file_name, sep=',', header=None, encoding='latin-1', low_memory=False) # 读取表头文件 df_column_names = pd.read_csv(file_dir + file_name_cols, sep=',', header=None, encoding='latin-1', low_memory=False) # 转换表头为列表 column_names = df_column_names.iloc[:, 0].tolist() # 为数据集设置表头 df.columns = column_names
小提醒
如果你的表头文件里的表头是一行多列(所有表头在同一行的不同列中),那转换列表的时候就改成:
column_names = df_column_names.iloc[0, :].tolist()
这样就能完美把表头和数据合并到同一个DataFrame里啦!
内容的提问来源于stack exchange,提问作者NuValue
相关产品推荐
相关产品推荐

