我有一个看起来像这样的数据框:
0 1 2 ... 147 148 149
Columns 0 190.2 190.5 189.9 ... 146.7 146.4 146.1
Values 0 -49.3892 -47.0297 -39.528 ... -30.7926 -30.7561 -30.719
Columns 1 190.2 190.5 189.9 ... 146.7 146.4 146.1
Values 1 -49.3892 -47.0297 -39.528 ... -30.7926 -30.7561 -30.719
Columns 2 190.2 190.5 189.9 ... 146.7 146.4 146.1
我想为每对Columns #
和Value #
创建一条曲线。数据帧有3478行,因此有1738对数据。
我尝试过的for loop
如下:
import matplotlib.pyplot as plt
nline2 = len(df2.index)
for i in range (0,(nline-2),2)
x_data = df2.values[[i]]
y_data = df2.values[[(i+1)]]
plt.plot(x_data,y_data)
但是我收到一条错误消息:TypeError:无法散列的类型:'numpy.ndarray'
请注意,我试图绘制图表只是为了查看得到的结果,这是计算每对曲线下的面积并将其用于所有对的最终目的。提示for loop
。
更新
我认为找到问题的根源,被称为Columns #
的行用作标头而不是标量值。我尝试了df2.iat[index,columns]
,但没有成功。
答案 0 :(得分:0)
要更改Columns #
行的值,我使用了:
df2 = df2.apply(pd.to_numeric)
然后出于只绘制第一对的目的:
i = 0
x_data = df2.values[[i]]
y_data = df2.values[[(i+1)]]
#line = plt.plot(x_data, y_data)
#plt.setp(line, color = 'r', linewidth = 2.0)
line = plt.Line2D(x_data, y_data,linewidth = 2)
plt.show()