我有来自传感器的大量数据,在长度为 2048 的列中表示为 0-255 的整数,并且同一个 2D numpy 数组中至少有 10000 行。我希望将所有行平均在一起以获得一列 float 并绘制它们。很简单,对吧?
当行数少于 1000 时,我的图表看起来很漂亮,而且根本不是很量化。平均是显而易见的。 当行数超过 10000 行时,我的图表看起来更糟 - 比较小数组的平均值更量化,即使它全部由 float 组成,但它非常接近整数,这很糟糕。
我要问的是:为什么会出现这种情况?平均应该“平滑”传感器测量结果。当我获取更长的数据样本时,它们现在变得更加嘈杂(并且量化)!
这是我当前代码的示例:
import matplotlib.pyplot as plt
import numpy as np
lower_bound=0
upper_bound=2048
#this loads data into raw_array as [n rows][2048 columns]
raw_array=np.loadtxt('raw_data.txt',dtype=int)
avg_array=np.mean(raw_array,0) #averages over zeroth column
x_inc=np.arange(lower_bound,upper_bound)
plt.plot(x_inc[lower_bound,upper_bound],avg_array[lower_bound,upper_bound])
plt.show()
最佳答案
问题是我平均的数据有错误(由数据采集程序引起)。基本上,从传感器收集的数据帧中有一半以上是相同且重复的。这导致输出近似于单帧数据,而不是平滑我认为拥有的大量数据。
关于python - 对于大文件,Python 中的整数数据输入 -> 平均 -> float 据输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849341/