sTr*_*gin 6 python arrays indexing numpy
所以我有一个大的NumPy数组,采用以下形式:
data = [[2456447.64798471, 4, 15.717, 0.007, 5, 17.308, 0.019, 6, 13.965, 0.006],
[2456447.6482855, 4, 15.768, 0.018, 5, 17.347, 0.024, 6, 14.001, 0.023],
[2456447.648575, 4, 15.824, 0.02, 5, 17.383, 0.024, 6, 14.055, 0.023]]
Run Code Online (Sandbox Code Playgroud)
我想创建一个如下所示的子数组:
[[4, 15.717, 5, 17.308, 6, 13.965],
[4, 15.768, 5, 17.347, 6, 14.001],
[4, 15.824, 5, 17.383, 6, 14.055]]
Run Code Online (Sandbox Code Playgroud)
基本上我想选出第一列,然后从第4列开始,我想选择每第3列.我试图弄清楚如何用类似的东西来解决这个问题,data[1:6:?]但我不明白如何逐步完成并且只获得我想要的列.
另外,我需要这个可以扩展为水平扩展的数组.所以我不只是想对列值进行硬编码.
你可以这样做:
>>> data[:, [1, 2, 4, 5, 7, 8]]
array([[ 4. , 15.717, 5. , 17.308, 6. , 13.965],
[ 4. , 15.768, 5. , 17.347, 6. , 14.001],
[ 4. , 15.824, 5. , 17.383, 6. , 14.055]])
Run Code Online (Sandbox Code Playgroud)
这就能达到目的,它可以水平和垂直缩放,而且简单且有效。
subArray = []
newRow = []
for row in data:
for i in xrange(0,len(row)):
if (i % 3 == 0):
continue
newRow.append(row[i])
subArray.append(newRow)
newRow = []
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10060 次 |
| 最近记录: |