我正在与一个熊猫数据框在哪里我想按一列分组,抓住每个组的最后一行(创建一个新的数据框),然后从原始删除这些行。分割熊猫数据框与groupby和最后
我做了大量的阅读和测试,看起来我不能像我所希望的那样容易地做到这一点。我可以做一个kludgy解决方案,但它看起来效率低下,而且很糟糕。
下面是伪代码是我想做的事:
df = pd.DataFrame
last_lines = df.groupby('id').last()
df.drop(last_lines.index)
创建last_lines据帧是好的,它是从原来的下降那些行DF这是一个问题。问题是当创建last_lines时,原始索引(从df)断开连接。我看着过滤器和变换,但似乎都没有解决这个问题。有没有一种很好的方法将数据框分成两部分?
我的kludge解决方案是遍历组迭代器并创建一个索引列表,然后删除这些。
grouped = df.groupby('id')
idx_to_remove = []
for _, group in grouped:
idx_to_remove.append(group.tail(1).index[0])
df.drop(idx_to_remove)
更好的建议吗?
我给了以下的答案,但我不知道你的意思拆分数据帧的内容。看起来你只是试图删除单独的行,而不是分割。 – BrenBarn
可能是一个语言问题...我想结束两个数据框,其中的连接是完整的原始数据框...所以,对我来说是分裂。我是分两步做的......创造第一个很容易......这是下降的部分,我与...有问题。所以这就是为什么我专注于此。再次感谢您的答案! –