Есть ли способ начать pandas add_prefix столбец индекса с 1 - PullRequest
1 голос
/ 06 апреля 2020

Я прошел 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 Ответ

2 голосов
/ 06 апреля 2020

Вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...