Hel*_*rth 2 python plot dataframe python-3.x pandas
我有每年每月(1-12)按小时(0-23)重复的值,例如:
Year Month HOUR NAME RATE
2010 1 0 Big 2
2010 1 0 Channelview 4
2010 1 0 Cottonwood 12
2010 1 1 Big 4
2010 1 1 Channelview 9
2010 1 1 Cottonwood 11
.
.
.
2010 2 0 Big 6
2010 2 0 Channelview 10
2010 2 0 Cottonwood 17
.
.
2013 1 0 Big 4
2013 1 0 Channelview 9
2013 1 0 Cottonwood 11
Run Code Online (Sandbox Code Playgroud)
我想按小时(x 轴)绘制一年中每个月的名称的费率数据(y 轴)(持续 7 年)。有没有办法通过.groupby或.loc不需要根据年份和月份创建额外的数据框来做到这一点?
您可以使用以下方法执行此操作groupby:
for name, data in df.groupby('NAME'):
plt.plot(data['HOUR'], data['RATE'], label=name)
plt.xlabel('Hour')
plt.ylabel('Rate')
plt.legend()
plt.show()
Run Code Online (Sandbox Code Playgroud)
[编辑]根据您的评论,要为每个名称创建并保存单独的绘图,您可以执行以下操作:
for name, data in df.groupby('NAME'):
plt.plot(data['HOUR'], data['RATE'], label=name)
plt.xlabel('Hour')
plt.ylabel('Rate')
plt.legend()
plt.savefig('plot_{}.png'.format(name))
plt.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8751 次 |
| 最近记录: |