【发布时间】:2016-07-06 03:38:10
【问题描述】:
我有一个包含类似数据的 CSV
4be390eefaf9a64e7cb52937c4a5c77a,"e1.ru",2014-09-30 18:14:58,57,4
4be390eefaf9a64e7cb52937c4a5c77a,"e1.ru",2014-09-30 20:11:15,1884,90
4be390eefaf9a64e7cb52937c4a5c77a,"e1.ru",2014-10-04 09:44:21,1146,6
4be390eefaf9a64e7cb52937c4a5c77a,"avito.ru",2014-09-29 21:01:29,48,3
我这样排序
print(infile.groupby(['address', infile['used_at'].dt.year]).active_seconds.sum())
我得到了数据:
address used_at
am.ru 2014 413071
2015 183402
auto.ru 2014 9122342
2015 6923367
avito.ru 2014 84503151
2015 87688571
avtomarket.ru 2014 106849
2015 95927
cars.mail.ru/sale 2014 211456
2015 167278
drom.ru 2014 11014955
2015 9704124
e1.ru 2014 28678357
2015 27961857
irr.ru/cars 2014 222193
2015 133678
我需要创建这样的条形图example
但是我需要在 2014 年和 2015 年对每个网站(在 x 轴)和 active_seconds(在 y 轴)的总和进行设置。
例如,他们使用 np.array,但我有对象类型系列。
我尝试这样做:
width = 0.35
plt.figure()
ax = graph_by_duration['address'].plot(kind='bar', secondary_y=['active_seconds'])
ax.set_ylabel('Time online')
ax.set_title('Time spent online per web site, per year')
plt.show()
我应该将其转换为 np.array 还是处理来执行此操作?
【问题讨论】:
标签: python csv pandas matplotlib bar-chart