python csv数据处理_基于python的CSV数据分析

我已经生成了示例输入数据(3个web站点,时间跨度:2年,100000个条目),因为您没有提供它。在

代码:import matplotlib.pyplot as plt

import pandas as pd

df = pd.read_csv('avito_trend.csv', parse_dates=['ts'], usecols=['userid','site','ts','duration'])

print('Time spent online per web site')

print(df.groupby('site').agg({'duration': 'sum'}))

print('Time spent online per web site, per year')

print(df.groupby([df.ts.dt.year, 'site']).agg({'duration': 'sum'}))

# calculating stats

stats = df.groupby([df.ts.dt.year, 'site'], sort=True)['userid'] \

.count() \

.reset_index() \

.rename(columns={'userid':'visits'}) \

stats = stats.set_index(stats.ts.astype(str) + ': ' + stats.site) \

.drop(['ts','site'], axis=1)

# plot part

fig = plt.figure(figsize=(16,9))

ax = fig.add_subplot(111)

title = 'site statistics (visitors)'

stats.plot(kind='barh', ax=ax, title=title, color=['grey'], legend=None)

[ax.annotate(str(visits), (stats.values.max()/2, i))

for i, visits in enumerate(stats['visits'].tolist())]

plt.show()

fig.savefig('stats.png',dpi=100,bbox='Tight')

输出:

^{pr2}$

JnFCo.png

PS请始终提供样本输入(5-10行)和预期输出(基于样本数据)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值