我有一个数据框,用于存储diskdrive_nbr,accountName,Size的详细信息。由于多个磁盘驱动器可以属于一个帐户,因此accountName值会多次显示。我想对每个帐户的磁盘大小求和,并将它们绘制在条形图上。我有这段代码似乎可以解决问题:
df.groupby(['accountName'])[['Size [GiB]']].sum()
但是当我尝试使用相同的列进行绘图时,会出现错误:
import matplotlib.pyplot as plt
%matplotlib inline
df.plot(df['accountName'], kind='bar', legend=None)
抛出错误:
KeyError: "None of [Index(['Acct1', 'Acct1', 'Acct1',\n 'Acct4', ',\n ...\n 'Acct5'],\n dtype='object', length=57769)] are in the [columns]"
我是否必须将df.groupby()。sum()的结果放入新的df中然后绘图?
答案 0 :(得分:1)
这将为您提供一个在X轴上带有帐户名称的条形图:
df.groupby(['accountName'])[['Size [GiB]']].sum().plot(kind='bar')