首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于A&B的Python聚合列C

基于A&B的Python聚合列C
EN

Stack Overflow用户
提问于 2017-04-10 22:49:17
回答 2查看 34关注 0票数 1

我有一些日志文件,我正试图分析。使用一些正则表达式,我得到了以下结构:

月份/年,URL,计数

Sep 2016,/,100513 Sep 2016,/,68221 Oct 2016,/,536365 Oct 2016,/,362350 Oct 2016,/,89203 Nov 2016,/,526455 Nov 2016,/,351360 Nov 2016,/,88279 Dec 2016,/,538702 Dec 2016,/,156063 Dec 2016,/,89094 Jan 2017,/,535684 Jan 2017,/,105867 Jan 2017,/,87492 Feb 2017,/,483897 Feb 2017,/,80502 Feb 2017,/,47554 Mar 2017,/,434830 Mar 2017,/,72355 Mar 2017,/,43036

它有几行100 K长,所以我不能使用Excel或Google,所以我尝试将python中的计数按月和URL进行汇总。做这件事的好方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-10 22:57:17

你可以用熊猫来做这个。您的示例是一个csv文件,因此下面的内容可以工作。

代码语言:javascript
运行
复制
import pandas as pd

df = pd.read_csv('x.csv', parse_dates=True)

print df.groupby(['Month/Year', 'URL']).sum()
票数 1
EN

Stack Overflow用户

发布于 2017-04-10 23:03:49

如果您需要一个没有外部依赖的解决方案(可能是一个严格的公司环境):

代码语言:javascript
运行
复制
months = {}
urls   = {}

with open ('./parsed-data.txt', 'r') as f:
    lines = f.readlines()
    for line in lines:
       # [Month, URL, Count]
       data = line.split(',')
       months[data[0]] = months.setdefault(data[0], 0) + int(data[2])
       urls[data[1]]   = urls.setdefault(data[1], 0) + int(data[2])

# Do whatever with months and urls here
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43334083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档