如何繪制 a 線pandas.core.series.Series?示例:Id Week01 36 155 37 145 38 20702 36 116 37 98 38 9903 36 61 37 2904 36 162 37 190 38 19005 36 26 37 35 38 2006 36 57 37 40 38 15Name: num, dtype: int64那么所有 id 都有一行,Week 是 X,num 是 Y?我努力了:week.plot(x='Week', y='num')plt.show()但它只繪制了一條線,并(01, 36) (02, 38) (04, 38) (06, 37)在底部繪制了 X。為了制作這個系列,我使用了以下內容:week = df.groupby(['Id', 'Week']).num.count()下面的代碼可以實現(xiàn)完全相同的功能:import pandas as pdimport matplotlib.pyplot as pltimport randomi = [1, 2, 3, 4, 5, 6]w = [36, 37, 38]n = 1iD = []wEek = []nUm = []for o in range(250): iD.append(random.choice(i)) wEek.append(random.choice(w)) nUm.append(n)df = pd.DataFrame({'Id': iD, 'Week': wEek, 'num': nUm})week = df.groupby(['Id', 'Week']).num.count()week.plot()plt.show()情節(jié)如下: 情節(jié)我希望所有s 都有一個單獨的行,其中每個 (X) 都有 (Y)Id的值。num.count()Week
1 回答

慕姐4208626
TA貢獻1852條經驗 獲得超7個贊
如果您實際上希望每個 id 在同一個圖中繪制 4 個不同的線圖,其中 x 軸為周,y 軸為數(shù)值:
week.unstack(0).plot()
如果您希望每一行位于不同的子圖中,只需添加 subplots=True arg,如下所示:
week.unstack(0).plot(subplots=True)
在這里,unstack(0) 函數(shù)以給定級別 0 為最左邊的索引 (Id) 來旋轉我們的多索引系列。
添加回答
舉報
0/150
提交
取消