2017-06-17 95 views
0

我一直在這個圈子裏繞了一段時間,並認爲我會張貼。 我有一個數據幀有UserID,TimeSlot和Count。熊貓dataframe groupby Plot 2

我試圖在單獨的折線圖上繪製2個用戶標識(3 & 4),沿着x軸繪製TimeSlot,並且在Y上繪製了總數。我試過參考this excellent post,但不能似乎正好適合我的需求。

我該如何解決這段代碼?

userList = [3,4] 

    df.set_index('TimeSlot', inplace=True) 
    df2 = df.groupby('UserID') 
    ncols=2 
    nrows = int(np.ceil(df2.ngroups/ncols)) 

    fig, axes = plt.subplots(nrows=4, ncols=ncols, figsize=(12,4), sharey=True) 

    for (key, ax) in zip(df2.groups.keys(), axes.flatten()): 
     df2.get_group(key).plot(ax=ax) 

    ax.legend() 
    plt.show() 

回答

0

好吧,這是我的最終解決方案:

df.set_index('TimeSlot', inplace=True) 
userList = [1,2,3] 
df2 = df.loc[df['UserID'].isin(userList)] 
df2 = df2.pivot(columns='UserID', values='Count') 
df2.plot() 

它實際上是繪製在同一張圖,我決定了線的罰款。