【发布时间】:2019-09-13 12:07:52
【问题描述】:
当涉及到 nan 值时,将相同的 numpy 函数作为 groupby 的聚合函数或应用于相同的值列表时,我看到不同的行为。
这适用于 np.sum np.min np.max 和 np.mean 聚合函数的行为看起来与使用 np.nansum、np、nanmin 等时相同
例如
import pandas as pd
import numpy as np
xx = pd.DataFrame([['A', 1., 2., 3.],
['A', 3., np.nan, 4.],
['B', 5., 6., np.nan],
['B', 7., 8., 9.]])
xx.groupby(0).agg(np.sum)
给予
1 2 3
0
A 4.0 2.0 7.0
B 12.0 14.0 9.0
但是np.array([np.nan,9.]).sum() 或
np.sum(np.array([np.nan,9])) 或
np.sum([np.nan,9])他们都输出nan
我希望聚合函数也能生成 nan,而我必须使用 np.nansum 生成输出
熊猫 0.24.2,numpy 1.16.2
【问题讨论】:
-
似乎包含 nans 的行会被 groupby 自动删除。看看这个答案:stackoverflow.com/questions/18429491/…
标签: python pandas numpy nan aggregation