【问题标题】:Aggregate Data For a List of Data Frames Pandas为数据框列表聚合数据 Pandas
【发布时间】:2019-01-25 23:38:45
【问题描述】:

我有一个这样的数据框列表,

   Name  Product    Quantity
0  A     1010       10
1  A     2010       12
2  B     4145       18
3  B     5225       14
4  B     6223       16
5  C     7222       18

   Name  Product    Quantity
0  A     1010       14
1  A     2010       12
2  B     4145       21
3  B     5225       18
4  B     7565       19
5  C     7222       11

   Name  Product    Quantity
0  A     1010       15
1  A     2010       14
2  B     4145       13
3  B     5225       15
4  B     7565       17

从上面的列表中,我想获得每个同名产品的平均数量(四舍五入)。

需要的输出是,

   Name  Product    Avg Quantity
0  A     1010       13
1  A     2010       13
2  B     4145       17
3  B     5225       16
4  B     6223       5
5  B     7565       12
6  C     7222       10     

目前,我不知道如何在pandas 中进行此操作,除非我将每个数据框保存到 excel 文件/工作表中并将它们合并到 excel 中。我不想要那条路线,我喜欢在熊猫中这样做。

我能找到的最接近的较早帖子是this。然而,这并没有帮助。任何建议都可以很好地实现我的输出。

【问题讨论】:

    标签: python-3.x pandas dataframe aggregate


    【解决方案1】:

    所以concat首先是你所有的dfs,然后使用groupbymean

    yourdf=pd.concat([df1,df2,df3]).groupby(['Name','Product'])['Quantity'].mean().reset_index()
    yourdf
    Out[410]: 
      Name  Product   Quantity
    0    A     1010  13.000000
    1    A     2010  12.666667
    2    B     4145  17.333333
    3    B     5225  15.666667
    4    B     6223  16.000000
    5    B     7565  18.000000
    6    C     7222  14.500000
    

    【讨论】:

      猜你喜欢
      • 2017-06-23
      • 2017-02-05
      • 2021-11-04
      • 1970-01-01
      • 2021-08-19
      • 2017-06-07
      • 2023-03-07
      • 1970-01-01
      • 2018-12-04
      相关资源
      最近更新 更多