使用for循环绘制数据帧

2024-05-19 09:32:49 发布

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

我在一个数据帧中有以下数据。我写了一个for循环,这样每一列都会针对BOND、ANGEL和DIHED绘制。在

My DataFrame

我运行这个代码

col=["TS","BOND","ANGEL","DIHED"]
df1=DataFrame(Energy, column=col)
df1=df1.astype(float)

for i in col:
    print(x)
    df1.plot(x="i", y="TS",)
    plt.show()

但是我得到了键错误:“我”。在

我如何在我的数据帧上运行一个循环,以便在最后我可以在Y轴上有4个图,在x轴上分别有3个列?在

bdw我只能画出TS,但如果我加上x轴,就会产生问题。在


Tags: 数据代码dataframefor绘制columncolfloat
2条回答

我尝试了一个代码,现在可以完美地工作了。在

for i in col[1:]:
    print(i)
    plt.figure()
    plt.plot(df1["TS"],df1[i])
    plt.show()

有了这段代码,就可以在一个数据帧上循环,并为每一列返回一个单独的绘图。df1[“TS”]在这种情况下是x轴,是固定的,df1[i]是可变的y轴。在

经过研究,看起来这是一个开放的bug。你cannot plot a column against itself

如果我做如下测向:

df=pd.DataFrame({"TS":[1,2,3,4,5,6,7,8,9],
                 "BOND":[54,34,54,56,34,12,34,56,78],
                 "ANGEL":[34,56,47,14,58,70,36,14,36],
                 "DIHED":[13,46,57,37,15,48,59,26,15]})
df
    TS BOND ANGEL DIHED
0   1   54  34  13
1   2   34  56  46
2   3   54  47  57
3   4   56  14  37
4   5   34  58  15
5   6   12  70  48
6   7   34  36  59
7   8   56  14  26
8   9   78  36  15

我把它放到一个循环中:

^{pr2}$

我得到了3个图,一个和另一个列对应着“TS”

相关问题 更多 >

    热门问题