将 pandas 数据框子类转换为数据框对象?

convert a pandas dataframe subclass into a dataframe object?

请问,我正在使用某人的(私人)代码,他们有这个:

class DNATable():
    '''
    A subclass of a Pandas DataFrame, designed to amalgamate data
    easier.
    '''

所以输出是这样的:

print(test)
<dnatable.dnatable.DNATable object at 0x7f7162e87fd0>

我已经尝试了很多方法将其转换为数据框,或者只是用它做任何事情,例如

print(type(pd.DataFrame(test)))

Returns:

ValueError: DataFrame constructor not properly called!

我还尝试 returning test.keys() 来了解我是否可以将子类变成字典,np.load(test) 看看我是否可以 return 数组和 str(test) 将其视为字符串,所有这些 return 与上述类似的错误基本上不是那种类型的数据。

有人知道如何获取作为 pandas 数据框子类的对象,并将其视为数据框吗? (例如 df = pd.DataFrame(test) 之类的东西)?或者是特定于此人的代码?

尝试DNATable.__dict__

假设你有这个class

class DNATable():
    def __init__(self, x, y, z):
        self.x = x
        self._y = y
        self.__z = z

l = [DNATable(1, 2, 3), DNATable(4, 5, 6)]

创建数据框

df = pd.DataFrame([i.__dict__ for i in l])
print(df)

# Output
   x  _y  _DNATable__z
0  1   2             3
1  4   5             6