私はこの問題は、あなたがdf['dollar change']
ではなく、全体としてdf
にGROUPBY呼んでいるということだと思います。構成されたデータと、この代わりに、
sumByGroup = df.groupby(df['location']).sum().astype('int')
sumByGroup.plot(y='dollar charge', kind='pie', title='DOLLARS', autopct='%1.1f%%')
plt.axis('off')
plt.text(2, -0.5, sumByGroup, size=12)
全作業の例を試してみてください。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
n = 20
locations = ['MD', 'DC', 'VA', 'NC', 'NY']
df = pd.DataFrame({'dollar charge': np.random.randint(28, 53, n),
'location': np.random.choice(locations, n),
'Col A': np.random.randint(-5, 5, n),
'Col B': np.random.randint(-5, 5, n)})
sumByGroup = df.groupby(df['location']).sum()
fig, ax = plt.subplots()
sumByGroup.plot(y='dollar charge', kind='pie', title='DOLLARS',
autopct='%1.1f%%', legend=False, ax=ax)
ax.axis('off')
ax.text(2, -0.5, sumByGroup, size=12)
ax.set_aspect('equal')