【问题标题】:Renaming the value returned by Lambda Function in Aggregate Operation在聚合操作中重命名 Lambda 函数返回的值
【发布时间】:2021-07-11 06:52:16
【问题描述】:

我希望针对数据集中的每组发布者显示各种百分位数的值。我正在尝试以下方法:

vg.groupby(['Publisher']).agg({'Global_Sales':['mean','min','max','median',lambda x: x.quantile(0.5)]})

数据集的几行是:

   Rank                       Name Platform    Year         Genre Publisher  \
0     1                 Wii Sports      Wii  2006.0        Sports  Nintendo   
1     2          Super Mario Bros.      NES  1985.0      Platform  Nintendo   
2     3             Mario Kart Wii      Wii  2008.0        Racing  Nintendo   
3     4          Wii Sports Resort      Wii  2009.0        Sports  Nintendo   
4     5   Pokemon Red/Pokemon Blue       GB  1996.0  Role-Playing  Nintendo   
5     6                     Tetris       GB  1989.0        Puzzle  Nintendo   
6     7      New Super Mario Bros.       DS  2006.0      Platform  Nintendo   
7     8                   Wii Play      Wii  2006.0          Misc  Nintendo   
8     9  New Super Mario Bros. Wii      Wii  2009.0      Platform  Nintendo   
9    10                  Duck Hunt      NES  1984.0       Shooter  Nintendo   

   NA_Sales  EUR_Sales  JAP_Sales  IND_Sales  Global_Sales  
0     41.49      29.02       3.77       8.46         82.74  
1     29.08       3.58       6.81       0.77         40.24  
2     15.85      12.88       3.79       3.31         35.82  
3     15.75      11.01       3.28       2.96         33.00  
4     11.27       8.89      10.22       1.00         31.37  
5     23.20       2.26       4.22       0.58         30.26  
6     11.38       9.23       6.50       2.90         30.01  
7     14.03       9.20       2.93       2.85         29.02  
8     14.59       7.06       4.70       2.26         28.62  
9     26.93       0.63       0.28       0.47         28.31   

现在我想为返回的 对象命名。我无法这样做。请指导,因为我是 Python 新手并尝试构建我的基础知识。

【问题讨论】:

  • @Cimbali 完成所需。如果需要任何其他更改,请告诉我
  • 不,没关系@PythonLearner,问题很明确。在其他问题上,您可能希望提供所需的输出,也许您会得到什么。
  • 嗨!以下任何一个答案是否有效?如果是这样并且如果您愿意,您可以考虑accepting 其中之一向其他人发出问题已解决的信号。如果没有,您可以提供反馈,以便改进(或完全删除)
  • @AnuragDabas 接受

标签: pandas dataframe data-analysis exploratory-data-analysis


【解决方案1】:

doc of .agg()你也可以直接指定agg()函数中的列名作为关键字参数:

>>> vg.groupby(['Publisher']).agg(
...     min=('Global_Sales', 'min'),
...     foo=('Global_Sales', lambda x: x.quantile(0.5)),
... )
              min     foo
Publisher                
Nintendo   36.939  30.815

如您所见,这些关键字 args 的参数是(列、聚合函数)元组。

【讨论】:

    猜你喜欢
    • 2013-10-05
    • 2021-12-29
    • 2020-05-01
    • 1970-01-01
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 2017-12-26
    相关资源
    最近更新 更多