Python 如何使用不同的计算创建数据帧交叉选项卡/汇总表/透视图
大家好,我有一个如下所示的数据框:Python 如何使用不同的计算创建数据帧交叉选项卡/汇总表/透视图,python,pandas,Python,Pandas,大家好,我有一个如下所示的数据框: print(df): TrxID Price Profit Online Satisfaction ### 10 10 Yes 25% ### 15 20 No 75% ### 18 -10 Yes
print(df):
TrxID Price Profit Online Satisfaction
### 10 10 Yes 25%
### 15 20 No 75%
### 18 -10 Yes 55%
### 10 30 No 70%
### 20 -50 Yes 79%
### 30 15 No 90%
### 30 15 No 15%
我希望创建以下摘要/交叉表/数据透视表:
SatisfactionBins SalesMade AveSalePrice CountofOnline Profit Profit/SalesMade
20% 1 30 0 15 1500%
40% 1 10 1 10 1000%
60% 1 18 1 -10 -1000%
80% 3 15 1 0 0%
100% 1 30 0 15 1500%
这样做对吗
df['Profit/SalesMade'] = df['Profit'] / df['SalesMade']
probbins = [0,0.2,0.4,0.6,0.8,1]
df['SatisfactionBins'] = pd.cut(dfclubhouse['Satisfaction'],bins=probbins)
df.groupby('SatisfactionBins')[(df['SalesMade'].count()),(df['Price'].mean()), etc etc]
我希望有人能在如何编写这段代码的“最佳实践”方面提供帮助,但我不确定接下来该怎么做。任何帮助都会很好!谢谢 您的pd.cut解决方案是正确的,只需更改groupby即可
谢谢@YOBEN_S。我让他们为count、mean和sum工作,但是关于如何在线获取count=='Yes'作为一列,以及如何将百分比计算df['Profit/SalesMaked']=df['Profit']/df['SalesMaked']作为一个新列,有什么想法吗?
df.groupby('SatisfactionBins').agg({'SalesMade':'count','Price':'mean'})