gpt4 book ai didi

Python pandas hub_table 多个时间索引

转载 作者:行者123 更新时间:2023-12-02 02:21:37 24 4
gpt4 key购买 nike

我有以下数据框:

import pandas as pd
import datetime

df = pd.DataFrame({'T': [datetime.datetime.now(), datetime.datetime.now()], 'V': [1, 2]})

我想使用年份和月份作为索引进行旋转,我可以这样做:

df.pivot_table(index = [df['T'].dt.year, df['T'].dt.month], values = 'V')

但是,由于这给了我两个名为 T 的列,因此我无法设置 margins = True (引发错误:名称 T 出现多次,使用级别编号)。我该如何解决这个问题?理想情况下,我想在进行数据透视时手动命名列,这样我就有 YearMonth 而不是 TT

有什么想法吗?

最佳答案

IIUC,您可以使用rename来重命名您的系列,

df.pivot_table(index = [df['T'].dt.year.rename('Year'),
df['T'].dt.month.rename('Month')],
values='V',
aggfunc='sum',
margins=True)

输出:

              V
Year Month
2020 1 3
All 3

关于Python pandas hub_table 多个时间索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59868363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com