使用列表名称批量替换多个DataFrame第一列列名的实现方法
批量实现代码
你可以把待处理的DataFrame按name_list的对应顺序存入列表,通过遍历批量完成替换,无需手动逐个修改:
import pandas as pd # 你已有的原始数据 name_list = ['a', 'b', 'c'] df1 = pd.DataFrame({'k': [12,13], 'l': [13,14], 'm': [14,15]}) df2 = pd.DataFrame({'o': [10,15], 'p': [11,16], 'q': [12,17]}) df3 = pd.DataFrame({'r': [1,3], 's': [3,4], 't': [4,5]}) # 按name_list的对应顺序整理df列表 df_list = [df1, df2, df3] # 批量替换第一列列名(会直接修改原df) for df, new_name in zip(df_list, name_list): df.columns.values[0] = new_name
可选:不修改原始DataFrame的方案
如果需要保留原始数据,可使用rename方法生成新的DataFrame副本:
new_df_list = [] for df, new_name in zip(df_list, name_list): modified_df = df.rename(columns={df.columns[0]: new_name}) new_df_list.append(modified_df)
修改后的结果按顺序存在new_df_list中,原df1/df2/df3不会发生变化。
运行完成后输出对应DataFrame即可得到你需要的目标结果。
内容的提问来源于stack exchange,提问作者Laz
相关产品推荐
相关产品推荐

