Приведенный ниже код создает соответствующий Pandas DataFrame:
import pandas as pd
columns_index = pd.MultiIndex.from_arrays([['Apple','Apple','Banana'], ['Light_Green','Red','Yellow']])
df = pd.DataFrame(data=None,columns=columns_index,index=[1])
df.loc[:,('Apple','Light_Green')] = 10
df.loc[:,('Apple','Red')] = 0
df.loc[:,('Banana','Yellow')] = 5
Apple Banana
Light Green Red Yellow
1 10 0 5
Затем я запускаю следующий код, чтобы вставить новое значение (и новый заголовок столбца первого уровня в DataFrame):
df.loc[:,('Apple','Dark_Green')] = 1
При этом создается DataFrame с данными, упорядоченными следующим образом:
Apple Banana Apple
Light_Green Red Yellow Dark_Green
1 10 0 5 1.0
Как вставить это значение (и новый заголовок столбца первого уровня) в DataFrame в большинстве Pythoni? c и убедитесь, что заголовок Dark_Green находится в категории Apple, так что DataFrame выглядит следующим образом:
Apple Banana
Light_Green Red Dark_Green Yellow
1 10 0 1 5
Есть ли другой способ для вставки данных или этот метод в порядке, с каким-то кодом, развернутым для повторной сортировки DataFrame после наилучшего подхода?
Примечание: мне особенно нужно, чтобы DataFrame динамически настраивалась снова и снова, поэтому создание DataFrame с самого начала с заголовком Dark_Green это не решение.
Спасибо!