df.dtypes
Close float64
eqId int64
date object
IntDate int64
expiry int64
delta int64
ivMid float64
conf float64
Skew float64
psc float64
vol_B category
dtype: object
gb = df.groupby([df['vol_B'],df['expiry']])
gb.describe()
AttributeError: 'Categorical' object has no attribute 'flags'
当我分别对它们中的每一个执行groupby时,它们各自(独立地)工作得很好,我只是不能执行多个groupby,其中一个变量是“bin”.
此外,当我使用2个其他变量时,我能够执行多个groupby& ndash我成功执行了此操作:
gb = df.groupby([df['delta'],df['expiry']])
解决方法:
我正面临着与OP类似的问题,并在寻找解决方案时发现了这个问题.经过熊猫documentation for categorical variables后,一个简单的黑客攻击是在分组之前改变分类变量的类型.
由于vol_B是您的分类变量,因此您应该尝试以下操作
#Depending on the content of vol_B you can do astype(int) or astype(float) as well.
gb = df.groupby([df['vol_B'].astype(str), df['expiry']])
我没有详细说明为什么这样有效,但事实并非如此,但如果我进入它,我会更新答案.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。