python - 通过空索引
问题描述
我有实现类似于以下内容的python代码:
import numpy as np
x = np.array([1,1,0,2,1,4])
ind = np.array([0,3,5])
def foo(x, ind):
x1 = x[ind]
x2 = np.delete(x, ind)
return x1, x2
foo(x, ind)
向量x
由用户传递给函数,并在函数内x
根据 中的一些预定索引分成两个向量ind
。然后,稍后在函数中对向量执行一些工作,x1
并且x2
(有条件地,如果它们存在)
从概念上讲,有 3 种可能的结果,目前根据我编写此代码的方式,我只能使其中两种工作。结果 1) 所有值都分配给x1
,没有分配给x2
。ind = range(6)
例如,当使用上面的示例代码的值时,就会这样做。结果 2) 一些值被分配给x1
,其余的被分配给x2
。这个结果就是上面提供的示例中的代码。
但是,我无法弄清楚的是结果 3)所有值都分配给x2
,没有分配给x1
. 在我如何编写此代码的上下文中,是否可以为ind
向量中的所有内容分配一些值而x
不会分配x2
任何内容x1
?
谢谢您的支持。
解决方案
你想像下面那样拆分numpy数组吗?然后你可以这样做。
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
ind = 4
newarr = arr[0:ind]
print(newarr)
推荐阅读
- itext7 - iText 5 ColumnText 到 iText7 ColumnDocumentRenderer 对齐问题
- python - 如何制作浮动范围条形图python
- python - 反向传播中的错误:神经网络预测同一类
- php - Paypal 返回 URL 付款 ID
- r - 如何使用行来构建列从宽到长
- angular - FullCalendar v4 Angular 7 自定义按钮
- powershell - 使用 Invoke-Command 在提升的会话中运行 Start-Process
- javascript - 关于oninput事件以防止通过MAC触摸栏输入字母?
- .net-core - 如何最好地使用 .NET 核心中的 TREX 文件序列化?
- angular - I get my datatable. but it doesn't display