【发布时间】:2019-05-23 08:09:16
【问题描述】:
我有一个看起来像这样的 pandas 数据框:
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分组,并在几个条件下得到count和sum,得到的结果如下:
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)
【问题讨论】: