Использование значения столбца для поиска имени заголовка столбца в PandasPython

Программы на Python
Ответить
Anonymous
 Использование значения столбца для поиска имени заголовка столбца в Pandas

Сообщение Anonymous »

У меня есть фрейм данных pandas. Я пытаюсь использовать значения в данном столбце (год), чтобы найти соответствующее имя заголовка и добавить его в новый столбец (имя_года). Например, если кадр данных выглядит следующим образом (где столбец itemName является индексом):



itemName
2020
2021
2022
2023
2024
год




item1
5
20
10
10
50
3


item2
10
10
50
20
40
2


item3
12
35
73
10
54
4



Результат должен быть таким:



itemName
2020
2021
2022
2023
2024
год
year_name




item1
5
20
10
10
50
3
2022


item2
10
10
50
20
40
2
2021


item3
12
35
73
10
54
4
2023



Я пытаюсь использовать лямбда-функцию, чтобы использовать значение каждой строки «год», и использовать ее, чтобы найти имя столбца для этой строки и добавить его в столбец «имя_года».
Я пробовал:

Код: Выделить всё

col_names = result_dict[col].columns.tolist()
result_df[[last_year_header']] = result_df[[_last_year']].apply(lambda x: col_names[x])
но это дало мне следующую ошибку:

Код: Выделить всё

TypeError: list indices must be integers or slices, not Series
Я тоже пробовал:

Код: Выделить всё

col_names = result_dict[col].columns.tolist()
result_df[[last_year_header']] = result_df[[_last_year']].apply(lambda x: col_names[x.iloc[0].astype(int)])
Но это дало мне:

Код: Выделить всё

IndexError: list index out of range
В данном случае я явно что-то упускаю с реализацией лямбда-функции. Как я могу это исправить?


Подробнее здесь: https://stackoverflow.com/questions/797 ... -in-pandas
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»