Pandas:如何获得分组后Pandas所有平均值的平均值

pxiryf3j  于 2023-02-17  发布在  其他
关注(0)|答案(2)|浏览(232)

我在Pandas工作,下面是 Dataframe

# initialize list of lists
data = [['A','Excel','1'], ['A','Word','0'], ['A','Java','1'],['B','Excel','1'],['B','Word','0'],['C','Word','0'],['D','Java','1'],['E','PPT','0'], ['E','Word','0'], ['E','Java','1']]
  
# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['System','App','DevTool'])

我使用以下命令获得了每个系统的DevTool平均值,但如何获得所有平均值的总平均值

df.groupby('System')['DevTool'].mean()*100

| 系统|DevTool比率|
| - ------|- ------|
| A类|六十六点六七分|
| B|五十元|
| C级|零点|
| D级|一百元|
| E级|三十三分三十三秒|
请指教。

but5z9lq

but5z9lq1#

您可以用途:

# initialize list of lists
data1 = [['A','Excel','1'], ['A','Word','0'], ['A','Java','1'],['B','Excel','1'],['B','Word','0'],['C','Word','0'],['D','Java','1'],['E','PPT','0'], ['E','Word','0'], ['E','Java','1']]

# Create the pandas DataFrame
dfdf = pd.DataFrame(data1, columns=['System','App','DevTool'])

#average  System
dfdf['DevTool'] = dfdf['DevTool'].astype('int')
PVT_T = dfdf.pivot_table(index='System', aggfunc={'DevTool':np.mean})

#average all DevTool
dfdf['DevTool'].mean()
qvsjd97n

qvsjd97n2#

IIUC用途:

df['DevTool'] = df['DevTool'].astype(int)

s = df.groupby('System')['DevTool'].mean()*100
s.loc['total avg'] = df['DevTool'].mean()*100

相关问题