我有以下DataFrame并希望创建单独的折线图(每个" Cluster" 1),其中x轴是"周",y-轴是"槽请求"和色调是" Group"。
要获取我想要绘制的数据,我使用
ffmpeg -y -i $ORIGINAL \
-af "atrim=45:duration=30,asetpts=N/SR/TB,afade=in:d=2,afade=out:st=28:d=2" \
-ab 64k $TRIMMED
上面的代码段会返回"Slot Request", dtype = int64。从这里开始,我有点卡住了。
由于我没有成功绘制上面的结果,我尝试将其导出为.csv,然后重新导入(将其重新导入数据帧,因为我还不知道如何做到这一点,对不起亵渎)。
我能想出的唯一可行的代码如下,但这并不是我需要得到的。使用FacetGrid也没有运气。
summed = full_df.groupby(["Group", "Cluster", "Week"])["Slot Request"].sum()
答案 0 :(得分:2)
尝试这样的事情:
summed = full_df.groupby(["Group", "Cluster", "Week"])["Slot Request"].sum().reset_index() #reset_index turns this back into a normal dataframe
g = sns.FacetGrid(summed, col="Group") #create a new grid for each "Group"
g.map(sns.pointplot, 'Week', 'Slot Request') #map a pointplot to each group where X is Week and Y is slot request
答案 1 :(得分:0)
非常感谢@Sam的想法。我会在评论中发帖,但代码格式不明确。
使用以下内容:
summed = full_df.groupby(["Group", "Cluster", "Week"])["Slot Request"].sum().reset_index()
g = sns.FacetGrid(summed, row ="Cluster", hue = "Cluster", sharex = False)
g.map(sns.pointplot, "Week", "Slot Request", "Group", scale=0.2, palette = sns.color_palette("muted"))
g.set(xticks = np.arange(1, number_of_weeks+2,week_span))
g.set_xticklabels([w for w in range(1, number_of_weeks+2, week_span)])
但是,我不确定为所有3个图设置x_ticks和x_tick_labels,也不确定如何为颜色添加图例(每种颜色都是不同的" Group")。有什么建议吗?