如何操作每个值都是对象的数据帧?

2024-05-19 07:22:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据帧,其中每个值都是自定义类的对象,比如:

dc = {"c1":{"a1":CAppState(1,1), "a2":CAppState(2,4) }, "c2":{"a2":CAppState(2,5), "a3":CAppState(3,32)} }
df = pd.DataFrame(dc)

其中CAppState是一个类:

class CAppState(object):
    def __init__(self, nID, nValue):
        self.m_nID = nID
        self.m_nValue = nValue

我想知道如何在此数据帧上执行一些常见操作,例如:cumsum()或根据CAppState.m\n值排序

如有任何建议,将不胜感激


Tags: 数据对象selfa2dataframedfa1dc
1条回答
网友
1楼 · 发布于 2024-05-19 07:22:34

这是不可能的。您必须从您的对象和cumsum创建一个序列。这可以很容易地用map完成。例如:

df.c1.map(lambda x: x.m_nValue).cumsum()

您还可以使用operator.attrgetter

df.c1.map(operator.attrgetter('m_nValue')).cumsum()

相关问题 更多 >

    热门问题