我通過 numpy.save() 保存了我的類的一個物件,我可以通過 numpy.load() 加載它,但我檢索到的值是:[<classes.SampleClass object at 0x7fb8ebd7a1f0>]。
class SampleClass:
def __init__(self, y):
self.y = y
y=np.array([1,2,3])
x=SampleClass(y)
np.save("x",x, allow_pickle=True)
xx=np.load("x.npy")
此代碼是一個示例,xx值為 [<classes.SampleClass object at 0x7fb8ebd7a1f0>]。如何訪問y( xx.y) 的值?
uj5u.com熱心網友回復:
'allow_pickle' 是必需的load,而不是save.
In [2]: class SampleClass:
...:
...: def __init__(self, y):
...: self.y = y
...:
...:
...: y=np.array([1,2,3])
...: x=SampleClass(y)
...: np.save("x",x)
...: xx=np.load("x.npy", allow_pickle=True)
In [2]:
In [3]: xx
Out[3]: array(<__main__.SampleClass object at 0x000002583B8BCDC0>, dtype=object)
xx是一個 0d 物件 dtype 陣列。它有一個元素,可以用
In [4]: xx.item()
Out[4]: <__main__.SampleClass at 0x2583b8bcdc0>
或者:
In [5]: xx[()]
Out[5]: <__main__.SampleClass at 0x2583b8bcdc0>
索引與陣列的()0d 形狀相匹配。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/484219.html
標籤:Python python-3.x 麻木的
下一篇:使用類物件設定Numpy陣列元素
