Bri*_*n B 7 python numpy recarray
假设我有一些简单的数据
y = [[datetime.datetime( 2012,1,1,1,1), 2.1],
[datetime.datetime( 2012,1,1,1,2), -3.1],
[datetime.datetime( 2012,1,1,1,3), 0.1]]
Run Code Online (Sandbox Code Playgroud)
我想要一个与之对应的numpy记录数组.看起来我应该能够做到这一点:
np.rec.array( y, dtype=[('timestamp', object),('x','f')] )
Run Code Online (Sandbox Code Playgroud)
或这个
np.rec.array( y, dtype=[('timestamp', '|O8'),('x','f')] )
Run Code Online (Sandbox Code Playgroud)
或许这个
np.rec.array( y, dtype=[('timestamp', 'V'),('x','f')] )
Run Code Online (Sandbox Code Playgroud)
但他们每个人都会返回一个错误
ValueError: Setting void-array with object members using buffer.
Run Code Online (Sandbox Code Playgroud)
要么
TypeError: expected a readable buffer object
Run Code Online (Sandbox Code Playgroud)
那么假设它甚至可能,我怎么能设置它呢?
您可以使用元组而不是列表来记录:
>> y = [(datetime.datetime( 2012,1,1,1,1), 2.1),
... (datetime.datetime( 2012,1,1,1,2), -3.1),
... (datetime.datetime( 2012,1,1,1,3), 0.1)]
>> np.rec.array(y, dtype=[('timestamp', object), ('x','f')])
rec.array([(datetime.datetime(2012, 1, 1, 1, 1), 2.0999999046325684),
(datetime.datetime(2012, 1, 1, 1, 2), -3.0999999046325684),
(datetime.datetime(2012, 1, 1, 1, 3), 0.10000000149011612)],
dtype=[('timestamp', '|O8'), ('x', '<f4')])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3321 次 |
最近记录: |