Построение строк из разных информационных фреймов на одном графике в Python - PullRequest
0 голосов
/ 17 января 2020

В настоящее время я пытаюсь построить ряды данных из 2 разных диаграмм в одном графике, однако все получаемые графики пустые.

Вот пример кода, который я сделал и который приводит к похожему Структура того, что я использую и дает те же результаты:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data1 = [[0.2, 0.3, 0.2, 0.4, 0.9, 0.5, '1'], [0.4, 0.5, 0.3, 0.2, 0.1, 0.6, '2']]
data2 = [[0.6, 0.7, 0.4, 0.1, 0.5, 0.6, '1'], [0.2, 0.3, 0.9, 0.6, 0.7, 0.2, '2']]

df1 = pd.DataFrame(data1, columns = ['h1','h2','h3','h4','h5','h6','cluster'])
df2 = pd.DataFrame(data2, columns = ['h1','h2','h3','h4','h5','h6','cluster'])

Xc = np.array(df1[['h1','h2','h3','h4','h5','h6']])
Xv = np.array(df2[['h1','h2','h3','h4','h5','h6']])

uniquevalues = np.unique(df1[['cluster']].values)

for i in uniquevalues:
    for curve in Xc[('cluster' == i)]:
        plt.plot(curve.ravel(), "r-")
    for curves in Xv[('cluster' == i)]:
        plt.plot(curves.ravel(), "k-", alpha=0.5)
    plt.savefig('plot_{}.png'.format(i))
    plt.close()

Спасибо за помощь

1 Ответ

0 голосов
/ 17 января 2020

Ваш код неправильно ссылается на кадры данных. Вам нужно это:

for curve in Xc[df1['cluster'] == i]:
    plt.plot(curve.ravel(), "r-")
for curves in Xv[df2['cluster'] == i]:
    plt.plot(curves.ravel(), "k-", alpha=0.5)

Ваш код просто спрашивал, был ли «кластер» равным i, которого никогда не было, поскольку «кластер» - это строка, а значения в кадрах данных равны 1 и 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...