此问题在此处已有答案:
Group by Date find average distinct customers(2个答案)
昨天关门了。
我有一个 Dataframe 如下:
# initialize list of lists
data = [['A','Excel','1'], ['A','Word_soft','0'],['B','Excel','1'],['B','Word','1'],['C','Word','1'],['C','Word_soft','0'],['D','Java2','1'],['D','Java','1'],['E','PPT','0'], ['E','Word_soft','0']]
# Create the pandas DataFrame
df = pd.DataFrame(data, columns=['System','App','DevTool'])
我执行了以下操作,以获得每个系统中DevTool的计数。
df.groupby(['System','DevTool'])['DevTool'].count()
我需要找到每个类别1和0中的总体DevTool平均值,如下所示
1 -类别DevTool平均值计算如下
(A系统的1类DevTool计数+ B系统的1类DevTool计数+......很快)/具有1类DevTool的系统数量
=(1+2+1+2)/ 4 = 1.5
类似地,0 -类别Devtool平均值计算如下
(A系统的0类别DevTool计数+ B系统的0类别DevTool计数+...即将)/具有0类别DevTool的系统数量
=(1+1+2)/ 3 = 1.33
为了进行这个平均值的计算,每次我把数据移动到excel中,用excel内置函数得到这个平均值,我不知道如何直接在Pandas内部进行这个平均值的计算,得到1和0类别的平均值分别是1.5和1.33。
1条答案
按热度按时间r6hnlfcb1#
添加一个
groupby.mean
步骤(.groupby('DevTool').mean()
):也可以将第一步替换为
value_counts
:输出: