【问题标题】:Logical indexing in pandas dataframes [duplicate]熊猫数据框中的逻辑索引[重复]
【发布时间】:2019-09-20 06:07:22
【问题描述】:

我有一些这样的数据:

+-----------+---------+-------+
| Duration  | Outcome | Event |
+-----------+---------+-------+
|       421 |       0 |     1 |
|       421 |       0 |     1 |
|       261 |       0 |     1 |
|        24 |       0 |     1 |
|        27 |       0 |     1 |
|       613 |       0 |     1 |
|      2454 |       0 |     1 |
|       227 |       0 |     1 |
|      2560 |       0 |     1 |
|       229 |       0 |     1 |
|      2242 |       0 |     1 |
|      6680 |       0 |     1 |
|      1172 |       0 |     1 |
|      5656 |       0 |     1 |
|      5082 |       0 |     1 |
|      7239 |       0 |     1 |
|       127 |       0 |     1 |
|       128 |       0 |     1 |
|       128 |       0 |     1 |
|      7569 |       1 |     1 |
|       324 |       0 |     2 |
|      6395 |       0 |     2 |
|      6196 |       0 |     2 |
|        31 |       0 |     2 |
|       228 |       0 |     2 |
|       274 |       0 |     2 |
|       270 |       0 |     2 |
|       275 |       0 |     2 |
|       232 |       0 |     2 |
|      7310 |       0 |     2 |
|      7644 |       1 |     2 |
|      6949 |       0 |     3 |
|      6903 |       1 |     3 |
|      6942 |       0 |     4 |
|      7031 |       1 |     4 |
+-----------+---------+-------+

现在,对于每个 Event,将 Outcome 0/1 视为失败/通过,我想将失败/通过事件的总数 Duration 分别汇总到 2 个新列中(或 1 个,只要确保可读性)。

我是数据框的新手,我觉得这里涉及到重要的逻辑索引。解决这个问题的最佳方法是什么?

【问题讨论】:

  • 能否将数据框添加为文本并粘贴到此处?还请添加预期的数据框,以便我们可以查看和复制问题。谢谢
  • 请将数据框数据包含为文本而不是图像。
  • df.groupby(['Event', 'Outcome']).Duration.sum()?
  • @anky_91:请参见上文。这有帮助吗?
  • @user2314737:请参见上文。这有帮助吗?

标签: python pandas indexing


【解决方案1】:

df.groupby(['Event', 'Outcome'])['Duration'].sum()

所以你按事件和结果分组,查看持续时间列,然后取每个组的总和。

【讨论】:

    【解决方案2】:

    你也可以试试:

    pd.pivot_table(index='Event', 
                   columns='Outcome', 
                   values='Duration', 
                   data=df,
                   aggfunc='sum')
    

    它为您提供了一个包含两列的表格:

    +---------+-------+------+
    | Outcome |   0   |  1   |
    +---------+-------+------+
    | Event   |       |      |
    +---------+-------+------+
    | 1       | 35691 | 7569 |
    | 2       | 21535 | 7644 |
    | 3       |  6949 | 6903 |
    | 4       |  6942 | 7031 |
    +---------+-------+------+
    

    【讨论】:

      猜你喜欢
      • 2020-03-24
      • 2017-07-03
      • 2016-06-13
      • 1970-01-01
      • 2022-07-10
      • 2017-12-14
      • 2018-08-21
      • 2013-12-27
      • 2014-10-01
      相关资源
      最近更新 更多