在Pandas中给出以下DataFrame:

import pandas as pd
df = pd.DataFrame(
    {
        "Date": [
            pd.Timestamp("2000-01-02"), 
            pd.Timestamp("2000-01-02"), 
            pd.Timestamp("2000-01-05"), 
            pd.Timestamp("2000-01-06"), 
            pd.Timestamp("2000-01-06"), 
            pd.Timestamp("2000-01-06") 
        ],
        "Item": ["A", "A", "B", "C", "C", "C"]
    }
)

它生成以下DataFrame:

    Date        Item
0   2000-01-02  A
1   2000-01-02  A
2   2000-01-05  B
3   2000-01-06  C
4   2000-01-06  C
5   2000-01-06  C

如何按日期汇总数据,并将项目作为列标题,如以下格式?

Date        A   B   C
2000-01-02  2   0   0
2000-01-05  0   1   0
2000-01-06  0   0   3

我试

pivot_df = df.pivot_table(index='Date', columns='Item', aggfunc=len, fill_value=0)

但这给了我

Item        A   B   C
Date            
2000-01-02  2   0   0
2000-01-05  0   1   0
2000-01-06  0   0   3

我不希望列中的"项目",只是"日期A B C"作为列.

推荐答案

你需要做两件事:

  1. 重置列索引名称(删除Item)
  2. 重置主框架索引(使每列Date个)
pivot_df.columns.name = ''
pivot_df = pivot_df.reset_index()

输出:

        Date  A  B  C
0 2000-01-02  2  0  0
1 2000-01-05  0  1  0
2 2000-01-06  0  0  3

Python相关问答推荐

如何计算列表列行之间的公共元素

多处理代码在while循环中不工作

如何在BeautifulSoup中链接Find()方法并处理无?

时间序列分解

基于索引值的Pandas DataFrame条件填充

如何使用scipy的curve_fit与约束,其中拟合的曲线总是在观测值之下?

多处理队列在与Forking http.server一起使用时随机跳过项目

如何在FastAPI中为我上传的json文件提供索引ID?

LocaleError:模块keras._' tf_keras. keras没有属性__internal_'''

为什么'if x is None:pass'比'x is None'单独使用更快?

python sklearn ValueError:使用序列设置数组元素

在Docker容器(Alpine)上运行的Python应用程序中读取. accdb数据库

并行编程:同步进程

如何在Python Pandas中填充外部连接后的列中填充DDL值

Python将一个列值分割成多个列,并保持其余列相同

裁剪数字.nd数组引发-ValueError:无法将空图像写入JPEG

有了Gekko,可以创建子模型或将模型合并在一起吗?

以极轴表示的行数表达式?

try 在单个WITH_COLUMNS_SEQ操作中链接表达式时,使用Polars数据帧时出现ComputeError

来自任务调度程序的作为系统的Python文件