Closed. This question is off-topic。它目前不接受答案。
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
三年前关闭。
我应该分析csv文件中的数据。我需要可视化和打印:
现场交通图(最多访问)
访问每个网站的用户数
上网时间
如何利用这些数据分别对2014年和2015年进行第一次(现场交通图):
输出:
![python - 使用python进行CSV数据分析-LMLPHP python - 使用python进行CSV数据分析-LMLPHP]()
PS请始终提供样本输入(5-10行)和预期输出(基于样本数据)
想改进这个问题吗?Update the question所以堆栈溢出的值小于aa>。
三年前关闭。
我应该分析csv文件中的数据。我需要可视化和打印:
现场交通图(最多访问)
访问每个网站的用户数
上网时间
如何利用这些数据分别对2014年和2015年进行第一次(现场交通图):
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
最佳答案
我已经生成了样本输入数据(3个网站,时间跨度:2年,10万条),因为你没有提供它。
代码:
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')
输出:
Time spent online per web site
duration
site
aliexpress.com 16603827
avito.ru 16560223
rozetka.ua 16731197
Time spent online per web site, per year
duration
ts site
2014 aliexpress.com 8242863
avito.ru 8288967
rozetka.ua 8392353
2015 aliexpress.com 8360964
avito.ru 8271256
rozetka.ua 8338844
PS请始终提供样本输入(5-10行)和预期输出(基于样本数据)
关于python - 使用python进行CSV数据分析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36071906/