Как разделить вхождения в Python groupby - PullRequest
3 голосов
/ 08 марта 2019

Итак, я пытаюсь создать простую круговую диаграмму для визуализации политических настроений (соскоб с твиттера). У меня есть три категории: negative, neutral и positive. Пока что у меня есть:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import style
raw_data = 'xxxxxxxx/trud.csv'
df = pd.read_csv(raw_data, index_col = 0)
test = df.groupby('sent').sent.count(). # 'sent' is a column 
print(test)

Выход:

negative 178
neutral 359
positive 263

Могу ли я разделить каждый выход и дать ему переменную, чтобы я мог сделать круговую диаграмму? neg = negative, neu = neutral и т. Д. Спасибо!

1 Ответ

0 голосов
/ 08 марта 2019

Вы можете выбрать значения Series по индексу:

test = pd.Series([178, 359, 263], index=['negative','neutral','positive'])

neg = test['negative']
neu = test['neutral']
pos = test['positive']

Но для построения не нужно - используйте Series.plot.pie:

test.plot.pie(figsize=(3, 3))

pic1

Или Series.plot.bar:

test.plot.bar(colors=['r','b','y'])

pic2

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