python - Pandas 中的嵌套数据框

标签 python numpy pandas matplotlib

我有一长串按月列出的状态代码,例如:

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

或图片:

as image

所以这是我需要的信息。

但是:

1.) 我已经无法访问该信息。什么是例如获取 2016 年 1 月状态代码为 200 的网址数量的语法?

2.) 我将如何绘制它?我想画多条线,其中 x 轴是月份,y 轴是状态代码计数。

3.) 为什么最右边的列名为“url”?我没有在我的数据透视表中包含该 url。

最佳答案

您可以使用crosstab():

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']
)

df = pd.crosstab(stats.day, stats.status_code)

df.plot()

关于python - Pandas 中的嵌套数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36129683/

相关文章:

python - 如何更改seaborn散点图矩阵中的绘图轴,sns.pairplot()

python - 如何根据 python 数据框中的行条件查找最接近的列名称?

python - 子类化 Python 字典以覆盖 __setitem__

python - 从 Shapely 中的多边形中删除重复点

python - 当我尝试将我的 numpy 数组保存到 .npy 文件时,出现内存错误。如何从内存有限的图像文件创建一个大的 .npy 文件?

python-3.x - 如何在列 Pandas 中找到连续零的最大计数?

Python:如何填充引用另一个数据框列的平均值

python - 如何汇总数组中大于、大于 0、小于 10 的项

python - 在Python字符串中嵌入可执行Python脚本

python如何替换数组(x,n)中每个x的第一个f(x)值