为了账号安全,请及时绑定邮箱和手机立即绑定

情节 pandas.core.series.Series

情节 pandas.core.series.Series

一只斗牛犬 2023-08-22 10:36:11
如何绘制 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()下面的代码可以实现完全相同的功能: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()情节如下: 情节我希望所有s 都有一个单独的行,其中每个 (X) 都有 (Y)Id的值。num.count()Week
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

如果您实际上希望每个 id 在同一个图中绘制 4 个不同的线图,其中 x 轴为周,y 轴为数值:

week.unstack(0).plot()

如果您希望每一行位于不同的子图中,只需添加 subplots=True arg,如下所示:

week.unstack(0).plot(subplots=True)

在这里,unstack(0) 函数以给定级别 0 为最左边的索引 (Id) 来旋转我们的多索引系列。


查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号