如何在numpy数组中选择
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在numpy数组中选择相关的知识,希望对你有一定的参考价值。
这里是同一变量中的两个numpy数组。如何选择数组最后一行中的最后一个?将其放在单独的变量中?
j = [[7.60243100e+06 7.66034500e+06 7.79095700e+06 7.86080000e+06
7.90957500e+06 7.94365200e+06 8.05480000e+06]
[9.92760000e+06 9.94780000e+06 9.98700000e+06 1.00683190e+07
1.01006310e+07 1.01305740e+07 1.01430470e+07]
所以我想将1.01430470e + 07和8.05480000e + 06放在一列的新变量中
答案
您可以对阵列进行切片操作。
>>> a = np.arange(10).reshape(2,5)
>>> a
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
>>> a[:,-1]
array([4, 9])
此简单但功能强大的-1从数组中获取最后一个数据,或者您也可以反转数组并获取第一个值。有关更多信息,请参考:Numpy Quickstart Guide
另一答案
首先,我正在设置您的问题,因此我可以对其进行测试。我无法读取numpy打印输出作为数据。请查询MCVE以获取将来的帖子。
import numpy as np
listj = [[7.60243100e+06, 7.66034500e+06, 7.79095700e+06 ,7.86080000e+06,
7.90957500e+06, 7.94365200e+06, 8.05480000e+06],
[9.92760000e+06, 9.94780000e+06, 9.98700000e+06, 1.00683190e+07,
1.01006310e+07, 1.01305740e+07, 1.01430470e+07]]
j=np.array(listj)
j
输出:
array([[ 7602431., 7660345., 7790957., 7860800., 7909575., 7943652.,
8054800.],
[ 9927600., 9947800., 9987000., 10068319., 10100631., 10130574.,
10143047.]])
现在只使用切片(:代表所有,-1代表最后一个):
print(j[:,-1])
输出:
[ 8054800. 10143047.]
以上是关于如何在numpy数组中选择的主要内容,如果未能解决你的问题,请参考以下文章