Фрейм данных pandas график на строку - PullRequest
0 голосов
/ 18 марта 2020

У меня есть большой Pandas фрейм данных с большим количеством столбцов, и мне нужно построить диаграмму для каждой строки.

Пока у меня есть это в моем коде:

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

[...]

df = pd.DataFrame() # DataFrame with 13 columns

for index,row in df.iterrows():
    df2 = pd.DataFrame(row)
    plt.set_title(row)
    plt.bar(df2)
    plt.savefig('./plots/chart_' + index)

Но кадр данных df2 внутри для l oop пуст ...

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Вам нужен df2 для других операций? Если нет, вы можете пропустить этот шаг и создать диаграмму напрямую, используя переменную строки, изменив код на:

for index,row in df.iterrows():
    plt.bar(row.keys(),row.values)
    plt.savefig('./plots/chart_' + index)
0 голосов
/ 18 марта 2020

Эффективный и чистый способ построения pandas df на строку - это транспонировать его.

Предположим, у нас получился маленький df с 13 столбцами:

df = pd.DataFrame(np.random.randn(10,13))
df.shape
(10, 13)

График на колонку:

df.plot.bar()
plt.legend(df.columns, loc="right");

enter image description here

График на строку:

df.T.plot.bar()
plt.legend(df.columns, loc="right");

enter image description here

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