当前位置: 首页 > 面试题库 >

pandas,groupby和count

闻人仲渊
2023-03-14
问题内容

我有一个这样的数据框说

>>> df = pd.DataFrame({'user_id':['a','a','s','s','s'],
                    'session':[4,5,4,5,5],
                    'revenue':[-1,0,1,2,1]})

>>> df
   revenue  session user_id
0       -1        4       a
1        0        5       a
2        1        4       s
3        2        5       s
4        1        5       s

和会话和收入的每个值代表了一种类型的,我要统计每个种类的数量表示的数量revenue=-1session=4user_id=a为1。

count()groupby()无法输出所需结果后,我发现简单的调用函数。

>>> df.groupby('user_id').count()
         revenue  session
user_id
a              2        2
s              3        3

我怎样才能做到这一点?


问题答案:

您似乎想一次按几列分组:

df.groupby(['revenue','session','user_id'])['user_id'].count()

应该给你你想要的



 类似资料:
  • 问题内容: 所以我的数据框看起来像这样: 每个站点的分数因国家/地区而异。我正在尝试查找每个站点/国家/地区组合得分的1/3/5天差异。 输出应为: 我首先尝试按网站/国家/日期排序,然后按网站和国家/地区分组,但是我无法从分组对象中获得区别。 问题答案: 首先,对DataFrame排序,然后您需要做的是: 不支持任意排序。如果您需要进行任意排序(例如Google在fb之前),则需要将它们存储在集

  • 问题内容: 假设我有一个类似于下面的数据框,我将如何获取2个特定列之间的相关性,然后按“ ID”列分组?我相信Pandas的“ corr”方法可以找到所有列之间的相关性。如果可能的话,我也想知道如何使用.agg函数(即np.correlate)找到“ groupby”相关性。 是)我有的: 我需要的: 谢谢! 问题答案: 您几乎已经弄清楚了所有部分,只需将它们结合起来即可: 在您的情况下,为每个I

  • 当我分组和求和时,我怎样才能绕过这个并保留C栏呢?

  • 问题内容: 使用样本数据: df 我试图弄清楚如何按key1分组数据并仅对key2等于“ one”的data1值求和。 这是我尝试过的 但这给了我一个数值为“无”的数据框 这里有什么想法吗?我正在寻找与以下SQL等效的Pandas: 提前致谢 问题答案: 首先按key1列分组: 然后为每个组取subDataFrame,其中key2等于“ one”并求和data1列: 为了解释发生了什么,让我们看一

  • 主要内容:创建DataFrame对象,创建groupby分组对象,查看分组结果,遍历分组数据,应用聚合函数,组的转换操作,组的数据过滤操作在数据分析中,经常会遇到这样的情况:根据某一列(或多列)标签把数据划分为不同的组别,然后再对其进行数据分析。比如,某网站对注册用户的性别或者年龄等进行分组,从而研究出网站用户的画像(特点)。在 Pandas 中,要完成数据的分组操作,需要使用 groupby() 函数,它和 SQL 的 操作非常相似。  在划分出来的组(group)上应用一些统计函数,从而达到

  • 问题内容: 我只是想知道这两个执行的功能有什么不同? 数据: as_index = False: reset_index(): 他们两个都给出完全相同的输出。 谁能告诉我有什么区别,还可以举例说明吗? 问题答案: 使用时,表示您不想将列ID设置为索引(duh!)。当两个实现产生相同的结果时,请使用,因为这样可以节省一些键入时间和不必要的pandas操作;) 但是,有时您想对组应用更复杂的操作。在这