Python版本:3.7.3
有人问了类似的问题,但不完全相同。你知道吗
根据一个条件,我只想检索DataFrameGroupBy对象的每个组的一个子集。基本上,如果一个数据帧以只有nan的行开始,我想删除它们。如果不是这样,我希望整个数据帧保持完整。为此,我编写了一个函数delete_rows
。你知道吗
Grouped_object = df.groupby(['col1', 'col2'])
def delete_rows(group):
pos_min_notna = group[group['cumsum'].notna()].index[0]
return group[pos_min_notna:]
new_df = Grouped_object.apply(delete_rows)
然而,这个函数似乎只为DataFrameGroupBy
对象中的第一个组做“工作”。我遗漏了什么,所以它对所有组都这样做,并将子集“粘合”在一起?你知道吗
函数delete_rows
根据Laurens Koppenol提供的逻辑编辑
在Pandas中,您必须非常小心索引(
loc
)和索引位置(iloc
)。把这件事说清楚总是个好主意。你知道吗This answer对差异有一个很好的概述
最小示例 表现出不想要的行为
相关问题 更多 >
编程相关推荐