Составление резюме категориальных данных с Pandas - PullRequest
0 голосов
/ 31 мая 2018

Рассмотрим данные этого опроса:

import pandas as pd
df = pd.DataFrame({'wild':['little', 'little', 'very'], 'raw':['medium', 'medium', 'very'],
                   'rotten':['little', 'very', 'medium']})

Я хотел бы обобщить его.Одним из способов может быть точечная диаграмма с «диким», «сырым» и «гнилым» на оси х и «очень», «средним», «маленьким» на оси у, в указанном порядке.

Я боролся с этим, но я не могу придумать правильный способ сделать это.

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

То, что вы могли бы сделать, это обработать ваши категории в такие значения, как следующие, у вас будут «дикие», «сырые» и «гнилые» на оси х, а балл на оси у, соответствующий среднему значениюсопоставленные значения «маленький», «средний» и «очень»

mapping = {'little': 1, 'medium': 2,'very':3}
df=df.replace({'raw': mapping, 'rotten': mapping,'wild':mapping})
x=['raw','rotten','wild']
plt.scatter(x,df.mean())
0 голосов
/ 31 мая 2018

Разброс графика по категориальным признакам не имеет смысла.Чтобы суммировать эти данные, вы можете использовать гистограмму.

Для этого вы можете использовать граф от seaborn:

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

df = pd.DataFrame({'wild':['little', 'little', 'very'], 'raw':['medium', 'medium', 'very'],
               'rotten':['little', 'very', 'medium']})

sns.countplot(x="variable", hue="value", data=pd.melt(df))

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