在pandas groupby过滤器的结果中缺少关键列

时间:2016-10-31 15:35:14

标签: python pandas

我有一个pandas groupby对象:

routeGroups = tracking.groupby(tracking.columns[0])

然后我应用过滤器:

filterFunc = lambda x: np.any(np.isfinite(x['LAT']))
results = routeGroups.filter(filterFunc)

results是一个数据框,但数据框中缺少用于按tracking.columns[0]创建组的列。

这种行为似乎不一致......有时它会丢失,有时则不然。我不确定发生了什么,或者可以解决什么问题。

1 个答案:

答案 0 :(得分:1)

如果进行聚合,用于分组的列将是results的索引。

要避免此行为,您可以

  1. as_index=False传递给groupby函数(routeGroups = tracking.groupby(tracking.columns[0],as_index=False
  2. 使用results.reset_index()
  3. 对于过滤,默认行为似乎是保留列(请参阅注释)。