【发布时间】:2020-12-15 14:54:25
【问题描述】:
我正在使用 FMPY 模块,它是模拟 FMU 的绝佳工具。
对于输入,模块需要一个信号数组,
dtype = [('time', np.double), ('step', np.double), ('pshaft', np.double), ('rpm', np.double)]
signals = np.array([(0.0, 1 ,20, 5000),
(1., 1,25, 5000),
(2., 1,30 , 5000),
(3., 1,35, 5000)],
dtype=dtype)
我面临的挑战是从列名为“时间”、“步骤”等的数据框中创建这样一个数组...
我曾尝试使用df.to_record(index=false),但它提供了不同的 NumPy 对象类型。如果我查看 dtype 的两个不同对象,我会得到这个。
signals[0].dtype
Out[7]: dtype([('time', '<f8'), ('step', '<f8'), ('pshaft', '<f8'), ('rpm', '<f8')])
test[0].dtype
Out[8]: dtype((numpy.record, [('time', '<f8'), (' step', '<i8'), (' pshaft', '<i8'), (' rpm', '<i8')]))
问题是是否有办法从dtype 中删除numpy.record,看看是否能解决问题?
【问题讨论】:
标签: arrays pandas numpy record void