Создание кривой из фрейма данных - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть кадр данных, который выглядит следующим образом:

                  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)

Но я получаю сообщение об ошибке: Ошибка типа: unhashable тип: 'numpy.ndarray'

Примечаниечто я пытаюсь построить график только для того, чтобы увидеть, что я получаю, конечная цель этого - вычислить область под кривой для каждой пары и добавить ее для всех пар.Hense for loop.

ОБНОВЛЕНИЕ

Я думаю, что нашел источник проблемы, строки звонки Columns # используются в качестве заголовков, а не скалярных значений.Я пытался df2.iat[index,columns], но безуспешно.

1 Ответ

0 голосов
/ 27 февраля 2019

Чтобы изменить значения строк 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...