【问题标题】:using pandas, how to calculate the mean of csv data in batches?使用pandas,如何批量计算csv数据的平均值?
【发布时间】:2021-03-25 04:11:42
【问题描述】:

在此 question 中添加更多内容。

我们想要计算批量读取的 csv 文件中数据帧的平均值。但有时,我们可能会在某些批次中错过一两行。

输入: 每组总是以 A 开头。 第三批中缺少 C。

A,1
B,2
B,1
C,2
A,1
B,3
B,1
A,1
B,2
B,1
C,3  

输出:打印 col2 的平均值并计算

A, average(1,1,1), 3
B, average(2,3,2), 3
B, average(1,1,1), 3
C, average(1,,3), 2 

【问题讨论】:

    标签: python dataframe pandas-groupby


    【解决方案1】:

    假设您的数据在 df 数据帧中

    df['gp'] = df.groupby([df[0].eq('A').cumsum(), 0]).cumcount()
    final = df.groupby([0, 'gp'])[1].agg(['mean','count'])
    
    #OUTPUT
    
              mean  count
    0 gp
    A 0   1.000000      3
    B 0   2.333333      3
      1   1.000000      3
    C 0   2.500000      2
    

    【讨论】:

      猜你喜欢
      • 2021-06-15
      • 2014-02-04
      • 2016-02-12
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      • 1970-01-01
      相关资源
      最近更新 更多