python-3.x - np.mean() 给出错误的平均值?
问题描述
我很难计算每列二维 numpy 数组的平均值。两个数组的每一列都是省略号的 x,y 坐标。因此,我想计算这些省略号的中心以使它们居中。所以,我使用 np.mean() 这样做,但我得到了错误的值。如果我绘制省略号和中心,则省略号确实是椭圆形的,但点(根本不)在中心。因此,这不是由于省略号错误造成的。
def acquire(self, qt, it, lapNumber):
if self.stream is None:
self.stream = {'qt': qt, 'it': it}
self.mean = {'qt': np.zeros(qt.shape), 'it': np.zeros(it.shape)}
else:
self.stream['qt'] = np.vstack((self.stream['qt'], qt - self.mean['qt']))
self.stream['it'] = np.vstack((self.stream['it'], it - self.mean['it']))
if self.stream['qt'].shape[0] > 950:
self.mean['qt'] = np.mean(self.stream['qt'], axis=0)
self.mean['it'] = np.mean(self.stream['it'], axis=0)
self.stream['qt'] -= self.mean['qt']
self.stream['it'] -= self.mean['it']
self.centered = True
解决方案
我只是在创建一个最小的可重现示例时解决了它。省略号实际上在空间中并不是均匀分布的。所以平均值不是中心,实际上离中心很远。
推荐阅读
- gcloud - 政策报告,用于查看帐户在 GCloud 上可以访问的所有资源的摘要
- pyspark - 使用 pyspark 估算负值的高效代码
- r - 在 r 中使用多个条件将控件与案例匹配
- python - 试图计算算术中位数
- mysql - 如何在连接的同一查询中显示前 5 名和后 5 名?
- python - python:当最小元素的数量大于1时,列表中的第二个最小值
- php - 如何在 https laravel 中运行 URL 以链接 css 和 js
- macos - SwiftUI:添加项目会在 NavigationView 列表中创建间隙
- flutter - 我无法通过本地html文件在flutter webview中加载传单地图
- loops - for循环语句内加数字的逻辑