Как сделать групповую диаграмму по оси 1 - PullRequest
1 голос
/ 19 сентября 2019

У меня есть фрейм данных:

id  meters  availability1   availability2   availability3
0   0   70  80  90
1   50  75  75  80
2   100 100 90  100
3   150 87  85  80
4   200 60  90  100

Я хочу создать коробочную диаграмму, которая показывает мне доступность для каждого конкретного счетчика.Например, для 0-метровой доступности доступно от 90 до 70. Поэтому я хочу создать коробчатый график для каждой строки, а не столбца.Я не могу найти, как применить это, не изменяя структуру моего фрейма данных.

Я использую следующий код:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

file = 'D:\\test_box_plot.csv'
df = pd.read_csv(file, sep = ";", usecols = ['availability1','availability2','availability3'])


sns.boxplot(x="variable", y="value", data=pd.melt(df))

plt.show()

Я буду признателен за любую помощь

1 Ответ

1 голос
/ 19 сентября 2019

Я думаю, что это возможное решение, но я не совсем уверен, понял ли я, что вы хотели:

 boxMeters = sns.boxplot(x=0,y=1,data=df.transpose(), palette="Set3")

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

С данными, которые вы разместили, мой транспонированный фрейм данных:

                0   1    2    3    4
id              0   1    2    3    4
meters          0  50  100  150  200
availability1  70  75  100   87   60
availability2  80  75   90   85   90
availability3  90  80  100   80  100

"метров" чуть ниже столбцаадрес 0, а наличие1 - это столбец 1. Скажите, работает ли он у вас.

...