小编Vic*_*ink的帖子

从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万
查看次数

Matplotlib:栏上方的网格线

这是一个简单的代码,它重现了我试图绘制的图形:

import matplotlib.pyplot as plt
import seaborn as sb
import numpy as np

x  = np.arange(1,11)
y1 = x[::-1]
y2 = 2 ** x

fig  = plt.figure(figsize = (8,6))
ax1 = fig.add_subplot(111)
plt.bar(x, y1, 1, color = 'blue')
ax1.grid(axis = 'y')
ax2 = ax1.twinx()
ax2.plot(x+0.5, y2, color = 'red')
Run Code Online (Sandbox Code Playgroud)

哪个产生:

在此输入图像描述

最后一行图中的网格线显示在条形图上方.我怎么能把它们放在酒吧后面?

python matplotlib seaborn

6
推荐指数
1
解决办法
1933
查看次数

AWS Redshift:列成行(宽到长)

我正在编写一个查询,其结果将在 redash 上显示为仪表板。查询基本上是特定时间范围内几列表的总和:

SELECT
   sum(col_A),
   sum(col_B),
   sum(col_C)
FROM
   table_X
WHERE
   timestamp > '2018-01-01'
   AND timestamp < '2018-02-01'
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

col_A    col_B    col_C    
123      456      789
Run Code Online (Sandbox Code Playgroud)

但是,要在 redash 上正确呈现 dasboard,我需要长格式的结果:

column   sum
col_A    123
col_B    456
col_C    789
Run Code Online (Sandbox Code Playgroud)

如何将结果从宽格式转换为长格式?

sql amazon-redshift redash

4
推荐指数
1
解决办法
1797
查看次数