有没有一种方法可以从1开始熊猫add_prefix列索引

时间:2020-04-06 14:57:44

标签: python pandas dataframe

我经历了pandas.Dataframe.add_prefix。我有一组动态创建的列,因此我对这些列使用了pd.df.add_prefix。

例如,新创建的列是:

column0         column1          column2

从0开始。是否有一种方法可以从1开始命名列,例如:

column1         column2          column3

编辑:

数据框:

df = pd.DataFrame([[34007, [3330193, 349723]], [126063, [349723,7901731]]], 
columns=['prod_1', 'prod_2'])

代码:

pd.DataFrame(df['prod_2'].values.tolist()).add_prefix('column').join(df['prod_1'])

我得到的输出:

column0       column1        prod_1
3330193       349723         34007
349723        7901731        126063

预期输出:

column1       column2        prod_1
3330193       349723         34007
349723        7901731        126063

请注意,仅预期生成的列的名称会在预期输出中更改,值保持不变

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

您可以使用df.rename重命名带有f字符串的列:

out = (pd.DataFrame(df['prod_2'].values.tolist())
       .rename(columns=lambda x: f"column{int(x)+1}").join(df['prod_1']))

   column1  column2  prod_1
0  3330193   349723   34007
1   349723  7901731  126063