【发布时间】:2014-04-11 06:14:06
【问题描述】:
我有一个 DataFrame,其中每个值都是自定义类的对象,比如:
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_nValue 排序?
任何建议都将不胜感激。
【问题讨论】:
-
cumsum之类的操作将对 DataFrame 中的值进行操作。因此,如果您想对您的对象进行操作,您可以实现__add__等以便它们支持添加,或者您可以创建一个包含m_nValue值的新列并在其上使用cumsum。 -
@BrenBarn 谢谢,但是如果我在自定义类中有多个值怎么办,如何指定在 cumsum() 中使用哪个值?