我有一个numpy数组,其中大多数都用实数填充,但是其中也包含一些nan
值。
如何nan
用列的平均值替换s?
无需循环:
print(a)
[[ 0.93230948 nan 0.47773439 0.76998063]
[ 0.94460779 0.87882456 0.79615838 0.56282885]
[ 0.94272934 0.48615268 0.06196785 nan]
[ 0.64940216 0.74414127 nan nan]]
#Obtain mean of columns as you need, nanmean is convenient.
col_mean = np.nanmean(a, axis=0)
print(col_mean)
[ 0.86726219 0.7030395 0.44528687 0.66640474]
#Find indices that you need to replace
inds = np.where(np.isnan(a))
#Place column means in the indices. Align the arrays using take
a[inds] = np.take(col_mean, inds[1])
print(a)
[[ 0.93230948 0.7030395 0.47773439 0.76998063]
[ 0.94460779 0.87882456 0.79615838 0.56282885]
[ 0.94272934 0.48615268 0.06196785 0.66640474]
[ 0.64940216 0.74414127 0.44528687 0.66640474]]
问题内容: 我的pandas DataFrame主要填充了实数,但是其中也包含一些nan值。 如何nan用列的平均值替换s? 这个问题与这个问题非常相似:numpy array:用列的平均值替换nan值, 但是不幸的是,给出的解决方案不适用于pandas DataFrame。 问题答案: 你可以直接使用来nan直接填充: 的文档字符串说,应该是一个标量或快译通,但是,它似乎工作用为好。如果你想通过
我有一个pandas DataFrame,其中大部分都是实数,但也有一些值。
问题内容: 我正在尝试学习熊猫,但请对以下内容感到困惑。我想用行平均值替换NaN是一个数据框。因此,类似的东西应该可以工作,但是由于某种原因,它对我来说是失败的。我是否想念任何东西,我做错了什么?是因为其未执行; 但是这样的事情看起来很好 问题答案: 如评论所述,fillna的axis参数为NotImplemented。 注意:这在这里很重要,因为您不想用第n行平均值填写第n列。 现在,您需要遍历
问题内容: 如何沿着矩阵计算矩阵均值,但要从计算中删除值?(对于R人,请考虑)。 这是我的[非]工作示例: 除去NaN之后,我的预期输出为: 问题答案: 我认为您想要的是一个蒙版数组: 编辑: 合并所有时序数据 返回值:
本文向大家介绍Python 实现将numpy中的nan和inf,nan替换成对应的均值,包括了Python 实现将numpy中的nan和inf,nan替换成对应的均值的使用技巧和注意事项,需要的朋友参考一下 nan:not a number inf:infinity;正无穷 numpy中的nan和inf都是float类型 t!=t 返回bool类型的数组(矩阵) np.count_nonzero(
问题内容: 我有一个熊猫数据框,其中包含每月数据,我想为其计算12个月的移动平均值。但是缺少一月每个月的数据(NaN),所以我正在使用 但这只是给我所有的NaN值。 有没有一种简单的方法可以忽略NaN值?我了解实际上,这将成为11个月的移动平均值。 数据框还有其他包含一月数据的变量,所以我不想只扔掉一月的列并进行11个月的移动平均。 问题答案: 有几种方法可以解决此问题,最好的方法取决于一月份的数