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

Hel*_* K. 5 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")
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。

我无法直接寻址列名称 - 我只能使用列的编号(例如 1、2 或数字 3)。

感谢您的帮助!!!

赫尔穆特

Iva*_*sky 1

您可以使用.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")
Run Code Online (Sandbox Code Playgroud)

或者与.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")
Run Code Online (Sandbox Code Playgroud)

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

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")
Run Code Online (Sandbox Code Playgroud)