Closed. This question is off-topic。它目前不接受答案。
想改进这个问题吗?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

python - 使用python进行CSV数据分析-LMLPHP
PS请始终提供样本输入(5-10行)和预期输出(基于样本数据)

关于python - 使用python进行CSV数据分析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36071906/

10-10 21:16
查看更多