gpt4 book ai didi

python - 如何将 NaN 数组插入 numpy 二维数组

转载 作者:行者123 更新时间:2023-11-30 22:49:15 24 4
gpt4 key购买 nike

我试图在二维数组中的特定位置插入任意数量的 NaN 值行。我正在将来自微 Controller 的一些数据记录在 .csv 文件中并使用 python 进行解析。

数据存储在一个 3 列的二维数组中,如下所示

[(122.0, 1.0, -47.0) (123.0, 1.0, -47.0) (125.0, 1.0, -44.0) ..., 
(39.0, 1.0, -47.0) (40.0, 1.0, -45.0) (41.0, 1.0, -47.0)]

第一列是序列计数器。我想做的是迭代序列值,比较当前和先前的序列号,并插入与缺失序列一样多的带有 nan 的行。

基本上,

[(122.0, 1.0, -47.0) (123.0, 1.0, -47.0) (125.0, 1.0, -44.0)]

会变成

[(122.0, 1.0, -47.0) (123.0, 1.0, -47.0) (nan, nan, nan) (125.0, 1.0, -44.0)]

但是np.insert的以下实现会产生错误

while (i < len(list[1])):
pid = list[i][0]
newMissing = (pid - LastGoodId + 255) % 256
TotalMissing = TotalMissing + newMissing
np.insert(list,i,np.zeros(newMissing,1) + np.nan)
i = i + newMissing
list[i][0] = TotalMissing
LastGoodId = pid

---> 28 np.insert(list,i,np.zeros(newMissing,1) + np.nan) 29 i = i + newMissing 30 list[i][0] = TotalMissing

TypeError: data type not understood

关于如何实现这一目标有什么想法吗?

最佳答案

来自doc of np.insert() :

import numpy as np
a = np.arrray([(122.0, 1.0, -47.0), (123.0, 1.0, -47.0), (125.0, 1.0, -44.0)]))
np.insert(a, 2, np.nan, axis=0)
array([[ 122., 1., -47.],
[ 123., 1., -47.],
[ nan, nan, nan],
[ 125., 1., -44.]])

关于python - 如何将 NaN 数组插入 numpy 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39848700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com