0
我希望能够在DataFrame中有一些通用对象实例的列标签。因此,而不是一个个STR对象,一个简单的类,它包装STR并提供一些额外的功能:熊猫指数对象
class WrapStr(object):
def __init__(self,str):
self.str = str
def __eq__(self,other):
return self.str == other.str
def __repr__(self):
return self.str
的问题是,pd.Index不呼吁WrapStr实例EQ方法而只是检查是否这两个实例是相同的。
first_ins = WrapStr('col1')
my_ix = pd.Index([first_ins])
sec_ins = WrapStr('col1')
print first_ins in my_ix # True
print sec_ins in my_ix # False
它看起来像包含检查在https://github.com/pydata/pandas/blob/master/pandas/index.pyx线92和448
如何支持这样的扩展列标签任何想法界定?
这是一般不可能的。这些字符串需要c-hashable,IOW,做索引计算的c-libs需要字符串。你可以尝试定义''__hash__'',可能工作。 – Jeff
谢谢杰夫的快速反应! – bjonen