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

情节 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 关注
  • 64 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信