Python Dataframe: вернуть имя столбца в применении лямбда - PullRequest
0 голосов
/ 02 октября 2018

Я хочу использовать apply (applymap) и лямбда-функции , чтобы получить имя столбца для каждого элемента в dfx (adataframe).Функция lambda используется для отображения другого фрейма данных в dfx и впоследствии будет перезаписана.

dfx

             A     B    C
2011-01-10   123   12   123 
2011-01-10   12    32   312
2011-01-11   44    1    30.99   

псевдокод

output = dfx.apply(lambda r:r.column)

Я не знаю, как написать эту часть "r: r.column"

предполагаемый вывод

             A    B    C
2011-01-10   A    B    C 
2011-01-10   A    B    C
2011-01-11   A    B    C  

Любая помощь приветствуется!Большое спасибо !!

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Вы можете назначить через pd.DataFrame.iloc:

df.iloc[:] = df.columns

print(df)

            A  B  C
2011-01-10  A  B  C
2011-01-10  A  B  C
2011-01-11  A  B  C
0 голосов
/ 02 октября 2018

Когда вы apply функция, эта функция принимает в качестве аргумента Series, соответствующую строке.Вы можете изменить это на столбец, передав kwarg axis=1 в apply.A Series не имеет столбцов (ось 1) - только индекс (ось 0).Вместо этого вы можете использовать оригинальный DataFrame:

dfx.apply(lambda s: dfx.columns, axis=1)

возвращает

            A  B  C
2011-01-10  A  B  C
2011-01-10  A  B  C
2011-01-11  A  B  C

Примечание : Существуют, конечно, более эффективные способы сделать это, которые "не использовать" применяютсяи лямбда-функции "по желанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...