gpt4 book ai didi

python - 如何删除满足某些条件的 Pandas 中的某些行

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:26 25 4
gpt4 key购买 nike

我正在使用 pandas 并且我有如下所示的数据集:

ID-cell    TOWNS      NumberOfCrimes
1 Paris 444
1 Berlin 333
1 London 111
2 Paris 222
2 London 555
2 Berlin 3
3 Paris 999
4 Berlin 777
4 Paris 5
5 Paris 123
5 Berlin 8
6 Paris 1000
9 Berlin 321
12 Berlin 1
12 Berlin 2
12 Paris 1

. . .

它是一个非常大的数据集。我需要为每个城市保留 5 行犯罪次数最多的行,其余行删除。

所以我的输出应该是这样的:

ID-cell    TOWNS      NumberOfCrimes
6 Paris 1000
3 Paris 999
1 Paris 444
2 Paris 222
5 Paris 123

4 Berlin 777
1 Berlin 333
9 Berlin 321
5 Berlin 8

1 London 555
2 London 111

非常感谢您的帮助。我是新来的。我正在为 Faculty 做一些项目,我的截止日期非常接近。 :/

最佳答案

排序+groupby.head

您可以按 NumberOfCrimes 降序排序,然后使用 groupby + head。下面是一个示例,您的数据按城镇提取单个最高的 NumberOfCrimes。

res = df.sort_values('NumberOfCrimes', ascending=False)\
.groupby('TOWNS').head(1)

print(res)

ID-cell TOWNS NumberOfCrimes
5 3 Paris 999
4 2 London 555
1 1 Berlin 333

因此,对于每个城镇的前 2 名或前 3 名,您可以使用 head(2)head(3)

关于python - 如何删除满足某些条件的 Pandas 中的某些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51144340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com