使用python查找多条直线的交点

使用python查找多条直线的交点,python,Python,我有一个图表,其中包括许多线 类点的数据格式 r[0] = [8,6,4,5,7,8].... r[1] = [9,3,4,2,0,8].... r[2] = [5,4,4,4,5,8].... . . . 以上几点可以写成一张有多条线的图表 比如说, r0 => [ [0,8], [1,6], [2,4], [3,5], [4,7] [5,8] ].... r1 => [ [0,9], [1,3], [2,4], [3,2], [4,0] [5,8] ].... r2 =>

我有一个图表,其中包括许多线

类点的数据格式

r[0] = [8,6,4,5,7,8]....
r[1] = [9,3,4,2,0,8]....
r[2] = [5,4,4,4,5,8]....
.
.
.
以上几点可以写成一张有多条线的图表

比如说,

r0 => [ [0,8], [1,6], [2,4], [3,5], [4,7] [5,8] ]....
r1 => [ [0,9], [1,3], [2,4], [3,2], [4,0] [5,8] ]....
r2 => [ [0,5], [1,4], [2,4], [3,4], [4,5] [5,8] ]....
.
.
.
在我使用函数“查找交叉点”之后

我将在位置
x
处获得交叉点

上述案例的位置为
2
5

[x,y]的“x”在每个
r[n]
点上有一个规则的
+1

我知道使用[:,n]可以很容易地编写,但我不能用它来实现

我想用C风格实现,比如if-else,2层循环

比如:

def find_交叉点(数据_2D):
对于范围内的i(len(data_2D)):
对于范围内的j(len(数据_2D[i]):
#…一些代码#
#将位置附加到位置中
返回位置

我该怎么办?

我希望我正确理解了你的问题。 决定您更喜欢的功能:

import numpy as np
data = [[8, 6, 4, 5, 7, 8],
        [9, 3, 4, 2, 0, 8],
        [5, 4, 4, 4, 5, 8]]

arr = np.array(data)

def get_intersection_np(arr: np.ndarray):
    means = np.mean(arr, axis=0)
    indices = np.all(means == arr, axis=0)
    return [i for i, bool_ in enumerate(indices) if bool_]


def get_intersection(arr: list):
    length_axis_one = len(arr[0])
    length_axis_zero = len(arr)
    indices = []
    for i in range(length_axis_one):
        all_equal = True
        last_value = None
        for j in range(length_axis_zero):
            value = arr[j][i]
            if last_value is not None:
                if last_value != value:
                    all_equal = False
            last_value = value
        if all_equal:
            indices.append(i)
    return indices



if __name__ == "__main__":
    indices_np = get_intersection_np(arr)
    print(indices_np)

    indices = get_intersection(data)
    print(indices)