【发布时间】:2016-07-07 21:09:51
【问题描述】:
我有一长串按月排列的状态码,比如:
stats = pd.DataFrame(
[
['2016-01', 200, 'xxx.com'],
['2016-01', 400, 'xxx.com'],
['2016-01', 200, 'xxx.com'],
['2016-02', 200, 'xxx.com']
],
columns=['day', 'status_code', 'url']
)
我想最终绘制几个折线图,每个状态代码用一行。我已经发现这个表包含正确的信息:
pivot = stats.pivot_table(index=['day', 'status_code'], aggfunc=len)
看起来像:
url
month status_code
2016-01 200 2
400 1
2016-02 200 1
或作为图片:
所以这是我需要的一些信息。
但是:
1.) 我已经无法访问该信息。例如什么获取 2016-01 状态码为 200 的 url 数量的语法?
2.) 我将如何绘制它?我想画多条线,其中 x 轴是月份,y 轴是状态码计数。
3.) 为什么右外列命名为“url”?我的数据透视表中没有包含该网址。
【问题讨论】:
-
每个问题 1 个问题,这太宽泛了。 1.
pivot.loc[('2016-02',200)].sum()传递一个元组访问多索引并调用sum。 2. 您必须将索引转换为日期时间并使用.month访问月份,或者将月份剥离并绘制。 3. 你用aggfunc调用了pivot_table,它在剩余的列上这样做了,所以它重用了列名,不知道为什么这对你来说是个谜
标签: python numpy pandas matplotlib