我有一个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]
创建组的列。
这种行为似乎不一致......有时它会丢失,有时则不然。我不确定发生了什么,或者可以解决什么问题。
答案 0 :(得分:1)
如果进行聚合,用于分组的列将是results
的索引。
要避免此行为,您可以
as_index=False
传递给groupby
函数(routeGroups = tracking.groupby(tracking.columns[0],as_index=False
)results.reset_index()
对于过滤,默认行为似乎是保留列(请参阅注释)。