假设我有一个 DataFrame 数据框:
data = {'Column 1': [ 1, 1, 2, 2, 2, 3, 4, 4, 4, 4],
'Column 2': [ 1, 2, 1, 2, 3, 1, 1, 2, 3, 4],
'Column 3': [ 1, 2, 1, 4, 3, 6, 1, 2, 7, 5]}
df = pd.DataFrame(data=data)
我想获取第2、5、6和10行,因为这些行是第1列中每个值的最后一行。假设第1列是一个ID,第2列表示该ID的数量。我需要选择第1列中每个数字的最大数字,并保留第2列和第3列成对的内容而不更改它们。
所以我从以下内容开始:
1 1 1
1 2 2
2 1 1
2 2 4
2 3 3
3 1 6
4 1 1
4 2 2
4 3 7
4 4 5
to
1 2 2
2 3 3
3 1 6
4 4 5
如果我执行
df.groupby(['Column 1']).max()
我得不到我想要的,因为它会使第二列和第三列都达到最大值。