gpt4 book ai didi

python - 如何覆盖 pandas 中索引的对象表示

转载 作者:行者123 更新时间:2023-12-01 09:07:47 24 4
gpt4 key购买 nike

我使用枚举作为 pandas 中的键。下面是一个将转换为 json 的数据帧的小示例。

[输入]

# coding=utf-8
# Written in python 3.7
# pandas==0.23.4
from enum import unique, Enum

import pandas as pd

@unique
class DEMO(Enum):
FIRST = "hello"
SECOND = "world"


df = pd.DataFrame()
df[DEMO.FIRST] = pd.Series([1,2])
df[DEMO.SECOND] = pd.Series([1,2])
print(df.to_json())

[输出]

{"{"name":"FIRST"}":{"0":1,"1":2},"{"name":"SECOND"}":{"0":1,"1":2}}

我想要的是枚举不表示为通过函数__dir__(self)定义的对象,而是表示为包含相当于字符串常量的值的字符串:

[输出]

{"hello":{"0":1,"1":2},"world":{"0":1,"1":2}}

如果不使用 DEMO.FIRST.valueDEMO.SECOND.value 作为索引,这可能吗?

最佳答案

您需要枚举的 value 属性。那么一种可能是使用带有 df.rename 的 lambda。

df.rename(lambda x: x.value, axis=1, copy=False).to_json()
# Out '{"hello":{"0":1,"1":2},"world":{"0":1,"1":2}}'

关于python - 如何覆盖 pandas 中索引的对象表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51903414/

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