【问题标题】:Trying to create bar charts form a Pandas Data Frame. Charts to be specific to the month尝试从 Pandas 数据框创建条形图。特定于月份的图表
【发布时间】:2019-11-27 04:53:10
【问题描述】:

Dataframe 基本上包含三件事。

日期、计数和公司

我想创建一个程序来制作 y 轴上的计数和 x 轴上的公司的条形图;但应该有不同月份的多个图表。例如,应该有一个可能的图表,其中仅包含该月的所有公司计数

我尝试使用 groupby 按公司组织它们,并使用 .sum() 计算每个公司的整个数据库,但我也无法做到这一点也特定于一个月

#code for grouping data by company only not dates
df = pd.read_csv('values.csv', delimiter = ',')

df.head(1)

df = df.query('Metric == "Company"')

df = df.groupby('Company').sum().Count

print(df)

df = df.plot(kind='bar', align='center', title ="entity",figsize=(15,10),legend=True, fontsize=5)
df.set_ylabel("Count",fontsize=12)
df.set_xlabel("Company",fontsize=12)
#this code works, variables changed for data privacy

预期结果应打印出每个月的多个图表,其中仅包含每个公司该月的所有计数。

【问题讨论】:

  • Dataframe 本质上包含三个标题日期、计数、公司
  • 能否附上样本数据?
  • 公司计数日期 Apple 97 16/01/2019 三星 84 06/01/2019 Linux 100 03/02/2019 Microsoft 61 29/01/2019 Blackberry 17 24/02/2019 LG 98 23/ 02/2019 松下 20 22/02/2019 苹果 100 19/03/2019 三星 43 02/01/2019 Linux 21 06/01/2019 微软 72 05/03/2019 黑莓 75 24/03/2019 LG 82 19/03 /2019 松下 42 25/02/2019 苹果 50 12/01/2019 三星 74 15/02/2019 Linux 41 09/03/2019 微软 97 12/03/2019 黑莓 15 28/03/2019

标签: python pandas python-2.7 pandas-groupby


【解决方案1】:

假设您可以将月、年、日与日期列分开。 (use to_datetime)

现在您有了日期、计数、公司、月份、年份、日期列

df = df.groupby(['month','Company']).sum() #month-company combo and counts
fig = plt.figure()
for i,m in enumerate(df['month'].unique()): 
    plt.subplot(2,3,i+1)
    tmp = df[df['Month']==m]
    plt.bar(tmp['company'],tmp['count'])
    plt.title(m)
    plt.tight_layout()

【讨论】:

  • 您好,感谢您的回复,但它返回给我一个类型错误:在线 df = df.grouby... 系列对象不可调用
  • 立即查看。 PS:您需要创建月份列
  • 嗨,谢谢您的回复,我想我可以从这里开始工作,但是我遇到了一个关键错误:for, i,m in enumerate(df["month"] .uniqure())
  • 检查你的 unique() 拼写。如果您认为答案与所询问的内容相关,请接受它作为官方答案:)
猜你喜欢
  • 1970-01-01
  • 2018-10-05
  • 1970-01-01
  • 2017-04-13
  • 2020-05-06
  • 2018-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多