相关疑难解决方法(0)

从Pandas聚合重命名结果列("FutureWarning:使用带重命名的dict已弃用")

我正在尝试对熊猫数据框进行一些聚合.这是一个示例代码:

import pandas as pd

df = pd.DataFrame({"User": ["user1", "user2", "user2", "user3", "user2", "user1"],
                  "Amount": [10.0, 5.0, 8.0, 10.5, 7.5, 8.0]})

df.groupby(["User"]).agg({"Amount": {"Sum": "sum", "Count": "count"}})

Out[1]: 
      Amount      
         Sum Count
User              
user1   18.0     2
user2   20.5     3
user3   10.5     1
Run Code Online (Sandbox Code Playgroud)

这会产生以下警告:

FutureWarning:使用带重命名的dict已弃用,将在以后的版本中返回super(DataFrameGroupBy,self).aggregate(arg,*args,**kwargs)

我怎么能避免这个?

python aggregate rename pandas

44
推荐指数
4
解决办法
2万
查看次数

python pandas:将不同的聚合函数应用于不同的列

我试图理解这个简单的SQL语句的等价物是什么:

select mykey, sum(Field1) as sum_of_field1, avg(Field1) as avg_field1, min(field2) as min_field2
from df
group by mykey
Run Code Online (Sandbox Code Playgroud)

我明白我可以将字典传递给agg()函数:

  f = {'Field1':'sum',
         'Field2':['max','mean'],
         'Field3':['min','mean','count'],
         'Field4':'count'
         }

    grouped = df.groupby('mykey').agg(f)
Run Code Online (Sandbox Code Playgroud)

但是,结果列名似乎是由pandas自动选择的:('Field1','sum')等等.

有没有办法为列名传递字符串,所以字段不是('Field1','sum')我可以选择的东西,比如sum_of_field1?

谢谢.我查看了这里的文档:http://pandas.pydata.org/pandas-docs/stable/groupby.html 但是找不到答案.

python dataframe pandas

7
推荐指数
1
解决办法
3075
查看次数

标签 统计

pandas ×2

python ×2

aggregate ×1

dataframe ×1

rename ×1