python - 没有排序结果的 Pandas 值计数

标签 python pandas count

我在数据框上名为“order_id”的列上使用 Python 的 value_counts(sort=False) 函数,但输出顺序与数据在数据框中显示的顺序不同。

例如,当我执行 df['order_id'].value_counts(sort=False) 时,结果顺序不同于数据帧中的顺序 (2398795,473747) 等。

数据框看起来像这样:

enter image description here

最终目标是这样的:对于每个订单 ID,我想要该订单的 product_ids 计数和 days_since 先前订单。

最佳答案

IIUC,使用groupbyagg:

df.groupby('order_id', sort=False)\
  .agg({'product_id': 'size','days_since_prior_order': 'sum'})

输出:

          product_id  days_since_prior_order
order_id                                    
2398795            6                    90.0
473747             5                   105.0
2254736            5                   145.0
431534             2                    56.0

关于python - 没有排序结果的 Pandas 值计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45748378/

相关文章:

python - 如何使用 python 文件中的数据初始化类

Python:如何标记此数据集

javascript - 为什么在 javascript 中的数学运算后不添加 '+ ""' 会使新变量长度的计数未定义?

haskell - 在 Haskell 中计算树中的元素

mysql - COUNT 正在对行进行意外分组

python - 通过 int 从 DatetimeIndex 转换为 datetime64[s] 而不除以 1e9 可能吗?

R表的python等价物

python - 什么时候 str 不是 str?

python - 如何使用另一个数据帧以特定方式过滤我的数据帧?

python - 在 Pandas 中,我如何在两个不同的轴上按两次分组?