小编Nof*_*ofy的帖子

在python中对多列进行分组求和和计数

我有一个看起来像这样的熊猫数据框

ID     country   month   revenue  profit   ebit
234    USA       201409   10        5       3
344    USA       201409    9        7       2
532    UK        201410    20       10      5
129    Canada    201411    15       10      5
Run Code Online (Sandbox Code Playgroud)

我想按 ID、国家/地区、月份分组并计算每个月和国家/地区的 ID,然后总结收入、利润、ebit。上述数据的输出将是:

 country   month    revenue   profit  ebit   count
   USA     201409     19        12      5      2
   UK      201409     20        10      5      1
   Canada  201411     15        10      5      1
Run Code Online (Sandbox Code Playgroud)

我尝试了熊猫的 groupby、sum 和 count 函数的不同变体,但我无法弄清楚如何将 groupby sum 和 count 一起应用以给出如图所示的结果。请分享您可能有的任何想法。谢谢!

python python-2.7 python-3.x pandas pandas-groupby

10
推荐指数
3
解决办法
4万
查看次数

Python 在时间序列数据框中填充零并保留现有值

我有一个日期列表和一个数据框。现在数据框有一个 id 列和其他值,这些值对于所有日期都不一致。我想在没有数据的 id 和日期的所有列中填充零。让我通过例子向您展示:

      date     id     clicks    conv    rev
     2019-01-21 234      34        1     10
     2019-01-21 235      32        0     0
     2019-01-24 234      56        2     20
     2019-01-23 235      23        3     30
Run Code Online (Sandbox Code Playgroud)

日期列表是这样的:

     [2019-01-01, 2019-01-02,2019-01-03 ....2019-02-28]
Run Code Online (Sandbox Code Playgroud)

我想要的是为所有 ID 的数据框中所有缺失的日期添加零。所以生成的 df 应如下所示:

    date     id     clicks    conv    rev
   2019-01-01 234      0         0     0
   2019-01-01 235      0         0     0
      .                .         .     .
      .                .         .     .

   2019-01-21 234      34        1     10
   2019-01-21 235      32        0     0
   2019-01-22 234      0         0     0
   2019-01-22 235      0 …
Run Code Online (Sandbox Code Playgroud)

python time-series pandas pandas-groupby

5
推荐指数
1
解决办法
1381
查看次数

两个时间序列的python聚合

我有两个pandas时间序列数据帧,我想根据另一个时间序列的时间间隔将值汇总到一个时间序列.让我举例说明.第一个时间序列如下:

        date    value
0 2016-03-21       10
1 2016-03-25       10
2 2016-04-10       10
3 2016-05-05       10
Run Code Online (Sandbox Code Playgroud)

第二个是从上述系列中提取的具有10个日历日间隔的日期范围.我编写了代码以从上面的数据中提取.

     date
 0   2016-03-21
 1   2016-03-31
 2   2016-04-10
 3   2016-04-20
 4   2016-04-30
Run Code Online (Sandbox Code Playgroud)

我想写一些代码来获得这个结果数据帧:

     date        value
 0   2016-03-21  20
 1   2016-03-31   0
 2   2016-04-10  10
 3   2016-04-20   0
 4   2016-04-30  10
Run Code Online (Sandbox Code Playgroud)

请不要在python中使用循环(最好),建议一种方法来做到这一点?

python time-series aggregation pandas

3
推荐指数
1
解决办法
126
查看次数