我有关于不同年龄段的人使用各种社交媒体平台的调查数据集。我想计算一下使用社交媒体应用程序的平均人数。以下是示例数据的外观:
以下是可复制的熊猫数据帧:
df=pd.DataFrame({'age': np.random.randint(10,100,size=10),
'web1a': np.random.choice([1, 2], size=(10,)),
'web1b': np.random.choice([1, 2], size=(10,), p=[1./3, 2./3]),
'web1c': np.random.choice([1, 2], size=(10,)),
'web1d': np.random.choice([1, 2], size=(10,))})
以下是我尝试的:
^{pr2}$但它效率不高,没有产生我想要的产量。有什么办法完成这个吗?谢谢
更新:
对我来说,要做到这一点,首先在每一列中选择分类值,然后得到它的平均值,这对其他列也一样。如果我这么做,我怎么能很好地描绘它们呢?在
注意,在web1a
,web1b
,web1c
,web1d
,1
表示用户,2
分别表示非用户。我想计算用户和非用户的平均年龄。我怎么能做到呢?有没有人给我一个可能的办法来实现这一点?谢谢!在
这可以使用
groupby
方法来完成:使用
您可以按“web*”列分组并计算“age”列的平均值。在
您也可以绘制条形图(颜色可以在子图中定义)。我不确定饼图在这种情况下是否有意义。在
我试着用你的data,只取以“web”开头的列。值比“1”和“2”多,所以我假设您只想分析用户和非用户,而不分析其他内容。只要您知道要绘制的值,就可以用相同的方法在图表中更改值或添加其他值。在
相关问题 更多 >
编程相关推荐