Вот рабочий пример для вашего случая использования
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = {'Partyname': ['Independents', 'INC','Independents','Independents','Independents'], 'Year': [1977, 1977,1980,1980,1980], "totPoll":[25168,35400,109,125,405]}
df = pd.DataFrame(data)
grpByParty = df.groupby(['Partyname'])
sumVotes = grpByParty['totPoll'].agg(np.sum)
y_values = sumVotes.keys().tolist()
y_pos = np.arange(len(y_values))
votes = sumVotes.tolist()
plt.bar(y_pos, votes, align='center', alpha=0.5)
plt.xticks(y_pos, y_values)
plt.ylabel('votes')
plt.title('party wise votes ')
plt.show()
Подход, который здесь используется
- Сгруппируйте данные по партии.
- Получить суммуот общего числа голосов в партии, используя агрегат.
- Взять x любые координаты y в списке.
- Построить диаграмму, используя matplotlib.pyplot
Вывод будет выглядеть следующим образом.