Я пытаюсь суммировать данные из нескольких столбцов в моем фрейме данных, поворачивая таблицу и используя aggfunc.Мой фрейм данных дает данные о выбросах для различных регионовЯ не хочу суммировать некоторые строки, поэтому я делаю выбор строк, которые я хочу суммировать.Выходные данные, однако, составляют две строки для каждого столбца:
- одна называется True и дает сумму строк, которые я определил (это столбец, который я хочу)
- другойназывается False и дает сумму оставшихся строк, которые я не определил (эту я хотел бы опустить / опустить)
Данные представляют собой числовые региональные данные за несколько лет, так что яхочу сделать, это добавить данные из некоторых регионов, чтобы получить данные для более крупных регионов.Годы указаны в столбцах.
Данные выглядят примерно так:
inp = [{'Scenario':'Baseline', 'Region':'CHINA', 'Variable':'Methane', 'Unit':'MtCO2eq', '1990':5,'1995':10,'2000':15},
{'Scenario':'Baseline', 'Region':'INDIA', 'Variable':'Methane', 'Unit':'MtCO2eq', '1990':6,'1995':11,'2000':16},
{'Scenario':'Baseline', 'Region':'INDONESIA', 'Variable':'Methane', 'Unit':'MtCO2eq', '1990':7,'1995':12,'2000':17},
{'Scenario':'Baseline', 'Region':'KOREA', 'Variable':'Methane', 'Unit':'MtCO2eq', '1990':8,'1995':13,'2000':18},
{'Scenario':'Baseline', 'Region':'JAPAN', 'Variable':'Methane', 'Unit':'MtCO2eq', '1990':9,'1995':14,'2000':19},
{'Scenario':'Baseline', 'Region':'THAILAND', 'Variable':'Methane', 'Unit':'MtCO2eq', '1990':10,'1995':15,'2000':20},
{'Scenario':'Baseline', 'Region':'RUSSIA', 'Variable':'Methane', 'Unit':'MtCO2eq', '1990':11,'1995':16,'2000':21}]
dt = pd.DataFrame(inp)
dt
1990 1995 2000 Region Scenario Unit Variable
0 5 10 15 CHINA Baseline MtCO2eq Methane
1 6 11 16 INDIA Baseline MtCO2eq Methane
2 7 12 17 INDONESIA Baseline MtCO2eq Methane
3 8 13 18 KOREA Baseline MtCO2eq Methane
4 9 14 19 JAPAN Baseline MtCO2eq Methane
5 10 15 20 THAILAND Baseline MtCO2eq Methane
6 11 16 21 RUSSIA Baseline MtCO2eq Methane
Я запускаю этот фрагмент кода:
dt_test = dt.pivot_table(dt,index=['Scenario','Variable','Unit'],
columns=[(df['Region'] == 'CHINA')|
(df['Region'] == 'INDIA')|
(df['Region'] == 'INDONESIA')
|(df['Region'] == 'KOREA')],
aggfunc=np.sum)
И получаю это как вывод:
1990 1995 2000
Region False True False True False True
Scenario Variable Unit
Baseline Methane MtCO2eq 46 10 76 15 106 20
Если бы кто-нибудь мог помочь мне с одним из способов отбросить этот столбец «Ложь» за все годы или с другим изящным способом получить итоговые значения, которые я хочу, это было бы удивительно.