Python Pandas:用另一个DataFrame的行重命名目标DataFrame列
解决方案
步骤1:提取df1中的列名列表
由于你的df1是1列15行的结构,先把这一列转换成列表,方便后续拼接:
# 从已读取的df1中提取列名列表 df1_col_names = df1.squeeze().tolist() # 也可以用iloc方式提取:df1_col_names = df1.iloc[:, 0].tolist()
步骤2:定义前5列自定义名称并拼接完整列名
将你预设的5个自定义列名和df1提取的15个列名合并成完整的20个列名列表:
# 替换成你实际需要的前5列自定义名称 custom_first_5 = ['自定义列1', '自定义列2', '自定义列3', '自定义列4', '自定义列5'] # 拼接成完整的20个列名 full_column_names = custom_first_5 + df1_col_names
步骤3:读取第二个CSV文件并设置列名
根据第二个CSV文件是否自带表头,有两种实现方式:
方式一:文件无表头,读取时直接指定列名
import pandas as pd df2 = pd.read_csv('第二个文件路径.csv', names=full_column_names)
方式二:文件有表头,读取后替换列名
df2 = pd.read_csv('第二个文件路径.csv') # 直接替换所有列名 df2.columns = full_column_names
注意事项
- 请确认df1的行数恰好为15行,否则拼接后的列名数量与df2的20列不匹配会触发报错
- 尽量避免自定义列名与df1提取的列名重复,防止后续数据操作出现歧义
内容的提问来源于stack exchange,提问作者user21006068
相关产品推荐
相关产品推荐

