python - 作为位置函数的 Bin 平均值
问题描述
我想有效地计算飞机多个区域的变量(比如温度)的平均值。
我基本上想做以下事情。
import numpy as np
num = 10000
XYT = np.random.uniform(0, 1, (num, 3))
X = np.transpose(XYT)[0]
Y = np.transpose(XYT)[1]
T = np.transpose(XYT)[2]
size = 10
bins = np.empty((size, size))
for i in range(size):
for j in range(size):
if rescaled X,Y in bin[i][j]:
bins[i][j] = mean T
解决方案
我会使用 pandas(尽管我确信你可以用 vanilla numpy 实现基本相同)
df = pandas.DataFrame({'x':npX,'y':npY,'z':npZ})
# solve quadrants
df['quadrant'] = (df['x']>=0)*2 + (df['y']>=0)*1
# group by and aggregate
mean_per_quadrant = df.groupby(['quadrant'])['temp'].aggregate(['mean'])
您可能需要创建多个象限截止以获得独特的分组
例如(df['x']>=50)*4 + (df['x']>=0)*2 + (df['y']>=0)*1
,将向我们的组添加额外的 2 个象限(一个 y>=0,一个 y<0)(只要确保使用 2 的幂)
推荐阅读
- javascript - 如何在移动视图中修复页脚上的空白
- python - 如何检查字典中的列表值是否相等?
- node.js - ExpressJS:如何按需缓存
- url - 如何在LWC社区页面中形成一个可以携带用户信息的URL?
- javascript - 将回调转换为 async/await 函数
- reactjs - 我不知道如何使用类修复 useSprint
- r - 如何校正地图上的网格轴?
- sql-server - 维度表主键传到事实表不能写值
- delphi - Delphi PageControl 与 TabSheet invisibleTabVisible := False;
- java - 是否有与 C# 中的 AttributeUsage(AttributeTargets.Property) 等效的 Java