根据其他数组的值选择numpy.ndarray的子​​集

时间:2017-12-12 07:46:39

标签: python arrays numpy

我有两个numpy.ndarrays,我想根据数组#1(条件:值> 1)中的值选择数组#2的子集:

#Array 1 - print(type(result_data):
<class 'numpy.ndarray'>
#print(result_data):
[ 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  3  0  0  0  0  0  0  0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  ...
  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  1  3  3  1  1  1  1  1  1
  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
  1  1  1  1  1 -1 -1 -1 -1 -1 -1 -1 -1  1  1  1  1  1  1  1  1  1  1  1  1
  1  1  1  1  1  1  1  1  1  1  1  1  1]

#Array #2 - print(type(test_data):
<class 'numpy.ndarray'>
#print(test_data):
[[-1.38693584  0.76183275]
 [-1.38685102  0.76187584]
 [-1.3869291   0.76186742]
 ..., 
 [-1.38662322  0.76160456]
 [-1.38662322  0.76160456]
 [-1.38662322  0.76160456]]

我试过了:

x=0
selArray = np.empty
for i in result_data:
    x+=1
    if i > 1:
         selArray = np.append(selArray,[test_data[x].T[0],test_data[x].T[1]])

......但是这给了我:

#print(type(selArray)):
<class 'numpy.ndarray'>
#print(selArray):
[<built-in function empty> -1.3868538952656493 0.7618747030055314
 -1.3868543839578398 0.7618746157390688 -1.3870217784863983
 0.7618121504051398 -1.3870217784863983 0.7618121504051398
 -1.3870217784863983 0.7618121504051398 -1.3869304105000566
...
 -1.3869682317849474 0.7617139232748376 -1.3869103741202438
 0.7616839734248734 -1.3868025127724706 0.7616153994385625
 -1.3869751607420777 0.761730050117126 -1.3866515941520503
 0.7615994122226143 -1.3866515941520503 0.7615994122226143]

显然,元素周围缺少[] - 而且我不明白<built-in function empty>的来源。

1 个答案:

答案 0 :(得分:1)

事实证明这很直接:

from google.appengine.ext import ndb

from google.appengine.ext import ndb

from main import Save

import firebase_admin

query = Save.query().fetch()

print(query)

for q in query: 

    user = auth.create_user( firstname = q.firstname,   \
    lastname =  q.lastname, email = q.email,            \
    password = q.password ) 

请参阅Nain的评论中的可能解决方案!