我刚刚了解了枚举,并认为它们将适合我正在编码的东西.但是当我运行这个代码时,我得到了一个错误.我是在做不该做的事情还是这是个错误?

当try 使用枚举来分组时,我会遇到以下错误: TypeError: '<' not supported between instances of 'CarBrand' and 'CarBrand'

代码:

import pandas as pd
from enum import Enum

class CarBrand(Enum):
    VOLVO = 'Volvo'
    BMW = 'BMW'

data = {
    'brand': [CarBrand.VOLVO,
              CarBrand.VOLVO, 
              CarBrand.BMW],
    'price': [35000, 
              37000, 
              45000]
}

df = pd.DataFrame(data)
sum_per_brand = df.groupby('brand').sum('price')
print(sum_per_brand)

这是我期待的输出: 品牌价格 宝马 45000 沃尔沃72000

推荐答案

默认为pd.DataFrame.groupby种.如果你使用sort=False:

sum_per_brand = df.groupby('brand', sort=False).sum('price')

或者,您可以使用支持排序的数据类型(如CategoricalDtype).

Python相关问答推荐

Pandas 第二小值有条件

如何在箱形图中添加绘制线的传奇?

Pytest两个具有无限循环和await命令的Deliverc函数

为什么符号没有按顺序添加?

聚合具有重复元素的Python字典列表,并添加具有重复元素数量的新键

使用@ guardlasses. guardlass和注释的Python继承

Pre—Commit MyPy无法禁用非错误消息

Python+线程\TrocessPoolExecutor

无论输入分辨率如何,稳定扩散管道始终输出512 * 512张图像

dask无groupby(ddf. agg([min,max])?''''

AES—256—CBC加密在Python和PHP中返回不同的结果,HELPPP

根据客户端是否正在传输响应来更改基于Flask的API的行为

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

如何从数据框列中提取特定部分并将该值填充到其他列中?

将字节序列解码为Unicode字符串

对数据帧进行分组,并按组间等概率抽样n行

我怎样才能让深度测试在OpenGL中使用Python和PyGame呢?

奇怪的Base64 Python解码

如何将django url参数传递给模板&S url方法?

了解如何让库认识到我具有所需的依赖项