python-2.7 - NP where 和 if 语句条件
问题描述
我目前在理解与 if 语句相关的 np.where 时遇到问题。(https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.where.html)我听说它更有效。我试图更好地理解 np.where 函数,但我还没有找到任何可以说明问题的例子。这是我真的想转换的 if 语句,有人可以帮忙吗?当你转换它时,你可能会给出更多有条件的例子。如果 np.where 不是一个可能的解决方案,numpy 条件语句会更好。
为了更好地解释 true_list 和 flat_list 并没有真正列出真正的问题,它们是我要附加的数组。所以我只是要把他们的名字改成 true_arr 和 flat_arr。
继承人更多代码:
combo = list(element)
flat_arr = np.concatenate(combo) #changes array dimensions to what I need
sum_flat_arr=flat_arr.sum(axis=0)
salary = sum_flat_arr[2]
values = sum_flat_arr[3]
if salary <= 5000 and values > 150:
true_arr = true_arr + flat_arr
true_arr 只是一个空的 numpy 数组(不确定处理它的最佳方法是用空行和列的数量预填充它,或者将其完全留空并附加它)
flat_arr 只是一个完整的数组,它看起来像:
Out:
[['Johnny Tsunami' 'Driver' 1000 39]
['Snow White' 'Pistol' 2000 40]
['Michael B. Jackson' 'Pistol' 2500 46]
['Greg Ritcher' 'Lookout' 200 25]]
本质上命名工作薪水和价值,而不是数据框,我试图在 Numpy 中做所有事情以提高速度。我不使用 np.concatenate 的原因是因为我听说它比像列表一样添加它们要慢。如果我错了,请解释。
它只是附加一个列表。如果你不能这样做并且它需要是一个函数,它可以是 np.append 或 np.concatenate。
如果不适用,那么一切都结束了,我一直在想完全错误的方式,我只是在寻找一种更有效(更快)的 if 语句的 numpy 方式。
有人可以朝正确的方向射击我吗?
解决方案
推荐阅读
- python - 如何通过查找值来查找列号
- javascript - 未捕获的类型错误:c.addEventListener 不是函数......?javascript DOM 事件
- python - 删除带有“e”的缩写经度值
- json - 错误:类型“字符串”不是“列表”类型的子类型
' - c++ - 打印二维字符串数组的函数
- javascript - React Button点击滞后于一键点击
- c++ - 所以我在拒绝 ((a % 1) != 0) 的小数时遇到了这个问题
- android - 获取 sqlite 异常
- java - 如何创建带有 2D 数组错误的嵌套循环?
- javascript - 如何修复错误“元素隐式具有‘任何’类型,因为类型的表达式