Я пытаюсь выяснить, можно ли переименовать заголовок столбца, если выполняется какое-либо условие. У меня есть датафрейм для панд:
import pandas as pd
data = [[1,'Joe', '2018', 5,7,9]]
df = pd.DataFrame(data, columns = ['ID', 'Name', 'Year', 'FallScore', 'WinterScore', 'SpringScore'])
print(df)
ID Name Year FallScore WinterScore SpringScore
0 1 Joe 2018 5 7 9
То, что я пытаюсь сделать, это если столбец содержит «Осень», «Зима» или «Весна» и добавляет строку «NEW» в конец заголовка столбца. Вот как будет выглядеть желаемый результат.
df_desired = pd.DataFrame(data, columns = ['ID', 'Name', 'Year', 'FallScoreNEW', 'WinterScoreNEW', 'SpringScoreNEW'])
print(df_desired)
ID Name Year FallScoreNEW WinterScoreNEW SpringScoreNEW
0 1 Joe 2018 5 7 9
Мне удалось получить массив логических значений для каждого термина, но я не смог выяснить, как заменить заголовок столбца, если он найден «Осень», «Зима» или «Весна». Обратите внимание, что я не буду знать фактические заголовки столбцов. Я буду знать только, что они будут содержать «Осень», «Зима» или «Весна»
Здесь я получил массив логических значений:
df.columns.str.contains('Fall')
df.columns.str.contains('Winter')
df.columns.str.contains('Spring')
Любая помощь будет принята с благодарностью!