![](/img/trans.png)
[英]Python - Take weighted average inside Pandas groupby while ignoring NaN
[英]Average two rows in Python while ignoring NaN
我有一個二維數據數組。 我需要平均每兩行,並返回平均值的一半高度的數組。 我還需要忽略所有NaN值以進行平均。 例如:
>>> x = numpy.array([[ 1, nan, 3, 4, 5],
... [ 6, 7, 8, 9, nan],
... [11, 12, 13, 14, nan],
... [16, nan, 18, 19, nan]])
該函數需要返回:
>>> x
array([[3.5, 7, 5.5, 6.5, 5],
[13.5, 12, 15.5, 16.5, nan]])
這應該做的伎倆:
numpy.ma.average(numpy.ma.masked_invalid(x).reshape(-1, 2, x.shape[-1]), 1)
對我來說它會回來
masked_array(data =
[[3.5 7.0 5.5 6.5 5.0]
[13.5 12.0 15.5 16.5 --]],
mask =
[[False False False False False]
[False False False False True]],
fill_value = 1e+20)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.