我正在尝试对熊猫数据框进行一些聚合.这是一个示例代码:
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)
我怎么能避免这个?
这是一个简单的代码,它重现了我试图绘制的图形:
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)
哪个产生:
最后一行图中的网格线显示在条形图上方.我怎么能把它们放在酒吧后面?
我正在编写一个查询,其结果将在 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)
如何将结果从宽格式转换为长格式?