首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pandas可能存在groupby和resample错误

pandas可能存在groupby和resample错误
EN

Stack Overflow用户
提问于 2021-09-29 15:18:56
回答 1查看 65关注 0票数 1

我是熊猫的新手,如果这是一个可能的bug,我正在寻求建议?

具有非唯一日期时间索引的Dataframe。Col1是组变量,col2是值。

我希望将每小时值重新采样为年,并按组变量分组。我使用以下命令执行此操作

df_resample = df.groupby(' col1 ').resample('Y').mean()可以很好地工作,并创建col1和datetimeindek的多重索引,其中col1现在不是数据帧中的列

但是,如果我将mean()更改为max(),情况就不是这样了。则col1是多索引的一部分,但是该列仍然存在于数据帧中。这不是个bug吗?

对不起,我不知道如何在这篇文章中以数据帧的形式呈现虚拟数据?

编辑:代码示例:

代码语言:javascript
复制
from datetime import datetime, timedelta
import pandas as pd

data = {'category':['A', 'B', 'C'],
        'value_hour':[1,2,3]}
days = pd.date_range(datetime.now(), datetime.now() + timedelta(2), freq='D')

df = pd.DataFrame(data, index=days)

df_mean = df.groupby('category').resample('Y').mean()
df_max = df.groupby('category').resample('Y').max()
print(df_mean, df_max)
                        
category                value_hour              
A        2021-12-31         1.0
B        2021-12-31         2.0
C        2021-12-31         3.0     

category              category  value_hour                           
A        2021-12-31        A           1
B        2021-12-31        B           2
C        2021-12-31        C           3

尝试从df_max中删除category列会得到一个KeyError

代码语言:javascript
复制
df_max.drop('category')

File "C:\Users\mav\Anaconda3\envs\EWDpy\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
raise KeyError(key) from err

KeyError: 'category'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-29 22:46:06

关于类别:问题是您试图删除“KeyError”行,而不是列。在使用drop删除列时,应添加axis =1,如以下代码所示:

代码语言:javascript
复制
df_max.drop('category', axis=1)

axis=1表示您正在查看列

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

https://stackoverflow.com/questions/69379166

复制
相关文章

相似问题

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