在开始对英语感到抱歉之前,我对Python的知识不强(新手),并且可能存在重复的问题。我尝试并进行了很多搜索,但找不到解决我遇到的问题的任何解决方案。这是问题所在;
我有一个名为的数组,其中装有numpy.loadtxt()
,这是一个文本文件,其中包含两列带有x
和y
的数据。 x
的范围是0.4到15。增量没有问题。
我还有第二个数组array2
,其中包含x'
值,范围从10
到12
。
注意:每个数组中x
的增量是不同的。稍后,我将它们用于y
值的线性插值。
我想通过使用第二个数组x'
值范围10到12来裁剪第一个数组。
我试过了
new_array = array1[(array1>=np.amin(array2)) * (array1<= np.amax(array2))]
裁剪第一个数组(
array1
)。但是我只能提取x值。[ 10. 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 11. 11.1
11.2 11.3 11.4 11.5 11.6 11.7 11.8 11.9 12. 12.1 12.2 12.3
12.4 12.5 12.6 12.7 12.8 12.9]
我想通过另一个数组中给定范围的
x
值从y
提取array1
和x
的值。编辑
array1[[ 0.3 0.302 0.304 0.306 0.308 0.31 0.312 0.314 0.316
... 13.4 13.5 13.6 13.7 13.8 13.9 14. 14.1
14.2 14.3 14.4 14.5 14.6 14.7 14.8 14.9 15. ]
[ 8.82 9. 9.18 9.35 9.52 9.69 9.85 10.02
10.18 10.35 10.52 10.67 10.82 10.97 11.12 11.25
11.39 11.52 …................... 2.3044 1.7773 2.271 2.721 ]]
array2 = [[ 10. 10.02 10.03 10.04 10.05 10.06 10.07 10.08 10.09 10.1
10.12 10.13 10.14 10.15 10.16 10.17 10.18 10.19 10.2 10.21
10.22 10.23 10.24 10.25 10.26 10.27 10.28 10.29 10.3 10.31
10.33 10.34 10.35 10.36 10.37 10.38 10.39 10.4 10.41 10.42
10.43 10.44 10.45 10.46 10.47 10.48 10.49 10.5 10.51 10.52
10.53 10.54 10.59 10.64 10.7 10.75 10.8 10.85 10.9 10.95 11.
11.05 11.1 11.15 ...... 12.64 12.65 12.66 12.67 12.68 12.69
12.7 12.71 12.72 12.73 12.74 12.75 12.76 12.77 12.78 12.79
12.8 12.81 12.82 12.83 12.84 12.85 12.86 12.87 12.88 12.89
12.9 ][ 0.0058 0.0073 0.0081 0.0088 0.0096 0.0104 0.0112 0.012 0.0128
0.0136 0.0165 0.0018 0.0195 0.021 0.0226 0.0241 0.0256 0.0272
0.0288 0.0334 …. 0.1092 0.0879 0.0667 0.0458 0.0433 0.0409
0.0385 0.0361 0.0337 0.0314 0.0291 0.0268 0.0245 0.0223 0.0209
0.0195 0.0182 0.0168 0.0155 0.0141 0.0128 0.0115 0.0101 0.0088
0.0085 0.0081 0.0078 0.0074 0.0071 0.0068 0.0064 0.0061 0.0058
0.0054]]
再次抱歉我的英语。我希望我能成功地解释自己
非常感谢您的帮助:)
最佳答案
假设第一个索引对应于x
,这可能会起作用:
indices = (array1[0,...] >= np.min(array2[0,...])) & (array1[0,...] <= np.max(array2[0,...]))
xselected = array1[0,indices]
yselected = array1[1,indices]
注意:不要使用
np.amin
,而是使用np.min
。不要将索引与*
组合在一起,而应使用布尔值和:&
。我已经用
array[0,...]
为数组建立了索引,但是我想您也可以在其中使用array[0]
,因为0
索引第一个维度。关于python - 从numpy数组中提取数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20214391/