【问题标题】:How to order an array of 2-dimensional arrays based on y-coordinate如何根据 y 坐标对二维数组进行排序
【发布时间】:2019-10-24 16:15:45
【问题描述】:

我有代码迭代 x 中的某个间隔并计算计算值与预期值 y 之间的差。

def find_alpha_max():
    alpha=0
    alphamax=1
    alphamin=0
    n=10
    alphastep=(alphamax-alphamin)/n
    data= np.zeros([n,2])
    for i in range(1,len(data)):
        alpha=i*alphastep
        data[i,0] = alpha
        data[i,1] = abs(wavelen(alpha)-121)
    print(data)

def wavelen(alpha):
    val1,val2= energy_levels(alpha)
    transition= abs(val1-val2)
    wavelength=(h*c/abs(transition*(1e-19)))/(1e-9)
    return wavelength

这给出了输出:

[[ 0.          0.        ]
 [ 0.1        61.37844557]
 [ 0.2        47.07247138]
 [ 0.3        33.72835938]
 [ 0.4        21.50950112]
 [ 0.5        10.44535124]
 [ 0.6         0.49201146]
 [ 0.7         8.43091667]
 [ 0.8        16.41859421]
 [ 0.9        23.56862328]]

我想要做的是根据数组的 y 值从最小到最大对数组的顺序进行排序,这样我就可以获得一个可以用于数值最小化的 x 值。我该怎么做呢?

【问题讨论】:

  • 您能否也将您的输入和输出作为示例?
  • 请提供一些最小的例子来说明。
  • 您的问题令人困惑。 “二维数组的 y 坐标”是什么意思?
  • 抱歉我已经编辑了。希望这更清楚

标签: python numpy-ndarray


【解决方案1】:

您可以使用以下内容:

Sorted(your_array, lambda your_array:your_array[i])

这将允许您按较大数组中每个一维数组的第 i 个元素进行排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 2012-06-15
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 2015-06-08
    • 2018-08-17
    • 2014-07-30
    相关资源
    最近更新 更多