【发布时间】:2017-10-28 09:03:45
【问题描述】:
我可以在 pandas/numpy Series-DataFrame/ndarray 中“存储”类的实例吗 就像我在列表中所做的那样?或者这些库支持内置类型(数字、字符串)。
例如,我有Point 和x,y 坐标,我想将Points 存储在Plane 中,这将返回给定坐标的Point。
#my class
class MyPoint:
def __init__(self, x,y):
self.x = x
self.y = y
@property
def x(self):
return self.x
@property
def y(self):
return self.y
我在这里创建实例:
first_point = MyClass(1,1)
second_point = MyClass(2,2)
我可以将实例存储在某个列表中
my_list = []
my_list.append(first_point)
my_list.append(second_point)
列表中的问题是它的索引与 x,y 属性不对应。
字典/DataFrame 方法:
Plane = {"x" : [first_point.x, second_point.x], "y" : [first_point.y, second_point.y], "some_reference/id_to_point_instance" = ???}
Plane_pd = pd.DataFrame(Plane)
我读过帖子,在 DataFrame 中使用实例的“id”作为第三列值可能会导致垃圾收集器出现问题。
【问题讨论】:
-
Pandas 是一个第三方数据分析库,其数据帧类主要用于存储原始类型(str、int、float、boolean、datetime 等)数字/指标数据。对于通用对象存储,请使用内置的 Python 类型(例如,列表、字典)。我们只是讨厌您的下一个问题是关于如何从这些对象中提取数据的数据争论。