Numpy意味着在大数据集上返回0-在小数据集上工作正常

kfgdxczn  于 2023-05-17  发布在  其他
关注(0)|答案(1)|浏览(104)

我一直在写一个脚本,可以从Python中的一个大型数据集中获取min,max,mean等(由于与工作相关,无法共享代码)。
我注意到在一个pandas Dataframe (600列x10行)上运行np.mean,它会正确地返回一个平均值。
然而,当在大规模数据集(600列x 20000行)上运行它时,它总是返回0.0作为数据集的最小值,最大值和平均值。
我是否错过了NumPy中常见的一些明显的东西?
Thanks:)
期望最小值、最大值和平均值结果,使用np.mean等没有收到任何结果。

jaql4c8m

jaql4c8m1#

我找到了一个解决方案-正如怀疑的那样,这是由于源数据中的NULL/NaN值:
所以我改了:df1.apply(lambda col: np.nanmean(df1[col.name] - df2[col.name])).replace(0, np.nan).abs()

df1.apply(lambda col: np.nanmean(df1[col.name].replace(np.nan, 0) - df2[col.name].replace(np.nan, 0))).replace(0, np.nan).abs()

相关问题