我有一个包含regularly spaced个数据的数组,格式为lats,lons,values.我的lats的步长为1,从-90到90不等,我的经度从-180到180,步长为1.

我想生成一个矩阵,其中除了在纬度和经度上定义的值之外,所有值都是0.做这件事最好的方法是什么?我的try 是:

lats=np.array([-85,-43,2])
lons=np.array([-44,-66,24])
values=np.array([1,2,3]) #some random data and points

matrix=np.zeros((181,361))

for i in lats:
  for j in lons:
    matrix[i][j]=values[]

但我不确定要对变量values使用什么索引.

推荐答案

我们知道指数(0,0)是纬度-90,经度-180.要将经度和纬度值转换为索引,请向纬度值添加90,向经度值添加180.这违反了您的规范,即坐标都将是整数.

示例代码:

import numpy as np

lats = np.array([-85,-43,2])
lons = np.array([-44,-66,24])
values = np.array([1,2,3])

coords = np.stack((lats, lons))
offset = np.array([90, 180])
indices = coords + offset[:, None]

matrix = np.zeros((181,361))
matrix[*indices] = values

Python相关问答推荐

我可以随时间更新变量的类型注释吗?

try 从网站获取表(ValueRight:如果使用所有纯量值,则必须传递索引)

如何在WTForm中使用back_plumates参考brand_id?

如何在Pandas 中存储二进制数?

Pandas使用过滤器映射多列

使用Python Great Expectations和python-oracledb

避免循环的最佳方法

Python panda拆分列保持连续多行

使用多个性能指标执行循环特征消除

如何让 turtle 通过点击和拖动来绘制?

Python 3.12中的通用[T]类方法隐式类型检索

具有多个选项的计数_匹配

rame中不兼容的d类型

在Python Attrs包中,如何在field_Transformer函数中添加字段?

如何使用数组的最小条目拆分数组

对所有子图应用相同的轴格式

为什么抓取的HTML与浏览器判断的元素不同?

Pandas—在数据透视表中占总数的百分比

计算分布的标准差

Python中的变量每次增加超过1