使用循环Python绘制重复值

2024-09-29 21:47:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些数据看起来像data = pd.read_csv(....)

Year    Month     HOUR  NAME            RATE
2010    1          0    Big              222  
2010    1          0    Welsch Power     434
2010    1          0    Cottonwood       124
2010    1          1    Big              455  
2010    1          1    Welsch Power     900
2010    1          1    Cottonwood       110
.
.
.
2010    2          0    Big              600  
2010    2          0    Welsch Power     1000
2010    2          0    Cottonwood       170
.
.
2010    3          0    Big              400  
2010    3          0    Welsch Power     900
2010    3          0    Cottonwood       110

如你所见,小时(0-23)每月(0-12)重复一次。我需要一种循环遍历值的方法,这样我就可以按每个名称的小时来绘制每个月的速率(Y轴)。在

我的尝试看起来像:

^{pr2}$

但在这个月底,每小时都会有一个循环,因为它每小时都会重复。我想把12个月中的每一个作为一个图表上每个名字的不同颜色的单独的线,但目前它们看起来像这样:

enter image description here


Tags: csv数据namereaddatarateyearpd
1条回答
网友
1楼 · 发布于 2024-09-29 21:47:27

.pivot您的DataFrame在groupby之后,因此它将每个月绘制为不同的行:

import matplotlib.pyplot as plt

for name, gp in df.groupby(['NAME']):
    fig, ax = plt.subplots()
    gp.pivot(index='HOUR', columns='Month', values='RATE').plot(ax=ax, marker='o', title=name)
    plt.show()

enter image description hereenter image description hereenter image description here

相关问题 更多 >

    热门问题