arrays - 创建/附加 Numpy 数组
问题描述
我有两个形状为 (8760,1) 的 numpy 数组,我想将它们组合成一个数组,即 (8760,2),然后从中过滤掉可能在第一个索引列或仪表中的任何零值在“数据”中,以便我可以使用临时数组进行统计操作。我已经尝试过 np.stack,然后尝试以这种方式过滤掉任何零值,但最终我的临时数组是 3D 而不是 2D。
data=np.stack((mb, gauge), axis=-1)
dta = data[:,data!=0]
idx = np.where(data[:,1]>0)
temp = data[idx,:]
我知道我可以先从仪表中过滤掉零,但我想保留与 mb 数组一起使用的索引值
解决方案
np.stack
沿新创建的轴连接。因此,您的阵列变为 3D。
要沿现有轴加入,您可以使用np.concatenate
:
a1 = np.empty((100, 1))
a2 = np.empty((100, 1))
a3 = np.concatenate((a1, a2), axis=1) # will give a (100, 2) array
推荐阅读
- django - “如何修复 'Django' 中的 'csrf' 错误?”
- php - 当我单击按钮以在选择选项作为参考的其他表上显示数据时如何修复“MethodNotAllowedHttpException”
- reporting-services - Reporting Services 气泡图未显示所有气泡
- laravel - Vue 获取当前元素并读取子元素
- xamarin - 如何使用 Xamarin.iOS 创建触觉效果?
- azure - AAD 应用注册中的“Publisher domain”有什么意义
- java - 在多线程环境中使用 Java Singleton 实例
- javascript - 通过正交相机相交
- javascript - 未捕获的类型错误:无法读取多语言反应上下文 api 中的属性
- ios - 为键是值的 JSON 创建模型