У меня есть pandas dataframe, который выглядит следующим образом:
import pandas as pd
import numpy as np
data = {
"Type": ["A", "A", "B", "B", "B"],
"Project": ["X123", "X123", "X21", "L31", "L31"],
"Number": [100, 300, 100, 200, 500],
"Status": ['Y', 'Y', 'N', 'Y', 'N']
}
df = pd.DataFrame.from_dict(data)
Я хочу сгруппировать по типу и получить счет и сумму с несколькими условиями и получить результаты следующим образом:
Type Total_Count Total_Number Count_Status=Y Number_Status=Y Count_Status=N Number_Status=N
A 2 400 2 400 0 0
B 5 800 1 200 2 600
Я пытался следовать, но не совсем то, что мне нужно.Пожалуйста, поделитесь любыми идеями, которые у вас могут быть.Спасибо!
df1 = pd.pivot_table(df, index = 'Type', values = 'Number', aggfunc = np.sum)
df2 = pd.pivot_table(df, index = 'Type', values = 'Project', aggfunc = 'count')
pd.concat([df1, df2], axis=1)