如何绘制熊猫数据框的特定列?

时间:2020-06-04 14:05:51

标签: python plot

不幸的是,它不起作用:我有一个名为df的数据框

这由5列和100行组成。

我想在x轴列0(时间)上绘制相应的值,并在y轴上绘制相应的值。

我尝试过:

figure, ax1 = plt.subplots()
ax1.plot(df.columns[0],df.columns[1],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df.columns[0],df.columns[2],linewidth=0.5,zorder=1, label = "Force2")

但这不起作用。

我无法直接处理列名-我只能使用列号(例如1、2或3)。

感谢您的帮助!

赫尔穆特

1 个答案:

答案 0 :(得分:0)

您可以使用.iloc[]和列位置,也可以使用.columns作为参数:

figure, ax1 = plt.subplots()
ax1.plot(df[df.columns[0]],df[df.columns[1]],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df[df.columns[0]],df[df.columns[2]],linewidth=0.5,zorder=1, label = "Force2")

或使用.iloc[]

figure, ax1 = plt.subplots()
ax1.plot(df.iloc[:,0],df.iloc[:,1],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df.iloc[:,0],df.iloc[:,2],linewidth=0.5,zorder=1, label = "Force2")

或者定义列名称列表,然后传递其索引(与第一种方法相同):

cols = df.columns
figure, ax1 = plt.subplots()
ax1.plot(df[cols[0]],df[cols[1]],linewidth=0.5,zorder=1, label = "Force1")
ax1.plot(df[cols[0]],df[cols[2]],linewidth=0.5,zorder=1, label = "Force2")