python - 使用枚举引用 Pandas 数据框列的语法
问题描述
我正在将 CSV 文件导入 Pandas DataFrame 对象。我创建了一个 Enum,我用它来验证导入的 CSV 的质量,并在应用程序的其他地方引用列。示例如下:
class FooProps(Enum):
FOO = 'Foo'
BAR = 'Bar Bar'
def __str__(self):
return self.value
data = ds.getFooProperties() # Imports CSV, Validates headers match enum
# Executes operation across Dataframe
someBigNumber = 10000
spam = someBigNumber/ data[str(FooProps.BAR)]
我是 Python 新手,但我需要通过将枚举自转换为字符串来引用该列,这似乎违反直觉。有没有更自然的方法来构建类,这样我就可以通过 Class.Property 索引列,而无需调用强制转换的额外语法?例如:spam = someBigNumber/ data[FooProps.BAR]
我考虑过构建一个抽象类,但据我了解,那些不存在......只有抽象方法,它并不真正满足要求。
我也想过把它变成一个普通的类,但是我必须声明那个类的一个实例,这似乎也是错误的。
解决方案
推荐阅读
- numpy - 如何创建具有满秩或特定秩的 NumPy 随机二维数组?
- python - 我可以使用 POST 方法在 python 中对请求 URL 使用 Web 抓取请求吗
- django - Django:管理更改表单中的自定义按钮返回自定义视图功能的错误网址
- material-ui - 如何在故事书中显示 material-ui 主题对象
- r - 使用 cairo 在轴标题中保存带有表达式和 unicode 的 ggplot
- spring-cloud-stream - Spring Cloud kafka Stream Binder transactionIdPrefix 向出站主题发送2条消息
- python - 如何将递归 VIF 消除合并到 scikit-learn 的管道中?
- reactjs - 如何获取可选行数?
- python - 如何使字典中除第一个键之外的所有键都小写
- macos - 在运行 python 应用程序时获取 OSError