gpt4 book ai didi

python - 将点列表转换为 numpy 二维数组

转载 作者:太空狗 更新时间:2023-10-29 21:55:45 25 4
gpt4 key购买 nike

我正在使用 genfromtxt 导入一个二维数组,它的所有值都列在一个文本文件中,格式为(x 和 y 是整数):

    x1   y1   z1
x2 y2 z2
: : :

我正在使用下面的 for 循环,但我很确定必须有一种单行方法来完成它。执行此转换的更有效方法是什么?

raw = genfromtxt(file,skip_header = 6)

xrange = ( raw[:,0].min() , raw[:,0].max() )
yrange = ( raw[:,1].min() , raw[:,1].max() )

Z = zeros(( xrange[1] - xrange[0] +1 , yrange[1] - yrange[0] +1 ))

for row in raw:
Z[ row[0]-xrange[0] , row[1]-yrange[0] ] = row[2]

最佳答案

您可以用以下代码替换 for 循环:

xidx = (raw[:,0]-xrange[0]).astype(int)
yidx = (raw[:,1]-yrange[0]).astype(int)

Z[xidx, yidx] = raw[:,2]

关于python - 将点列表转换为 numpy 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6047243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com