【发布时间】:2020-12-12 08:39:18
【问题描述】:
我有以下代码:
def campaign_plot(col1,col2):
grouper = df.groupby(['Day','Campaign']).agg({col1: 'sum', col2: 'mean'}).unstack()
result = grouper.fillna(0)
fig = go.Figure()
fig.add_trace(go.Scatter(
x = result.index,
y = result.iloc[:, [0, 4]], #<---
name = '1',
line = dict(
color = ('rgb(205, 12, 24)'),
width = 2)
))
fig.show()
我想使用数据框的第一列和第五列创建一个图。如果我只是做result.iloc[:, [0, 4]] 这将输出数据帧的正确列。但在图中它只输出两个点。我该如何解决这个问题?
编辑:这是分组的数据帧的 sn-p:
Day Campaign Clicks CTR
0 2013-08-05 1 0 0
1 2013-08-05 3 1 0.5
2 2013-08-05 7 0 0.2
3 2013-08-05 15 5 3
4 2013-08-08 1 6 0.1
5 2013-08-08 3 1 0
6 2013-08-08 7 15 4.5
7 2013-08-08 15 0 1
8 2013-08-10 1 6 2.2
9 2013-08-10 3 20 0
10 2013-08-10 7 1 0.2
11 2013-08-10 15 1 0.1
所以在函数中,col1 是 Clicks,col2 是 CTR。点击次数求和,点击率求平均值。
然后将上述数据框按广告系列和日期分组,因此在图表中,x 轴是日期,每个广告系列都有一条单独的线。
【问题讨论】:
-
张贴原始数据,df,因为您有索引数据,难以复制示例。
-
@SergedeGossondeVarennes 成功了
标签: python pandas dataframe pandas-groupby plotly-python