【发布时间】:2017-03-10 10:49:29
【问题描述】:
我有类似于下面的 DataFrame(这只是一个示例):
i TIME CITIES_LABEL Value lat_rounded long
2 2005 Tilburg 22 250 52.070498 4.300700
3 2005 Amsterdam 45 825 52.370216 4.895168
4 2005 Rotterdam 27 600 51.924420 4.477733
5 2005 Utrecht 12 915 52.090737 5.121420
6 2005 Eindhoven 9 165 51.441642 5.469722
7 2006 Tilburg 7 800 51.560596 5.091914
8 2005 Groningen 7 620 53.219383 6.566502
9 2005 Enschede 6 250 52.221537 6.893662
10 2005 Arnhem 6 025 51.985103 5.898730
11 2006 Utrecht 3 400 50.888174 5.979499
12 2006 Amsterdam 6 795 52.350785 5.264702
13 2005 Breda 8 565 51.571915 4.768323
14 2010 Groningen 6 325 51.812563 5.837226
15 2005 Apeldoorn 7 005 52.211157 5.969923
16 2007 Utrecht 3 785 53.201233 5.799913
17 2006 Rotterdam 7 130 52.387388 4.646219
18 2005 Zaanstad 6 060 52.457966 4.751042
19 2008 Tilburg 6 945 51.697816 5.303675
20 2007 Amsterdam 5 840 52.156111 5.387827
21 2005 Maastricht 5 220 50.851368 5.690972
城市沿CITIES_LABEL 字段重复。我想根据 TIME 的最高值过滤城市。我想要的输出示例是:
i TIME CITIES_LABEL Value lat_rounded long
6 2005 Eindhoven 9 165 51.441642 5.469722
9 2005 Enschede 6 250 52.221537 6.893662
10 2005 Arnhem 6 025 51.985103 5.898730
13 2005 Breda 8 565 51.571915 4.768323
14 2010 Groningen 6 325 51.812563 5.837226
15 2005 Apeldoorn 7 005 52.211157 5.969923
16 2007 Utrecht 3 785 53.201233 5.799913
17 2006 Rotterdam 7 130 52.387388 4.646219
18 2005 Zaanstad 6 060 52.457966 4.751042
19 2008 Tilburg 6 945 51.697816 5.303675
20 2007 Amsterdam 5 840 52.156111 5.387827
21 2005 Maastricht 5 220 50.851368 5.690972
关于如何最好地在 pandas 中解决这个问题有什么想法吗?
编辑
我的问题与Python : How can I get Rows which have the max value of the group to which they belong? 不同,因为我正在寻找TIME 和CITIES_LABEL 的过滤器,而上一个问题仅查看基于一个字段的(最大)值的过滤,它确实不关心其他领域的重复
【问题讨论】:
-
@ASGM 我的问题与您建议的两个不同,因为我正在寻找
TIME和CITIES_LABEL的过滤器,而前面的问题只考虑基于(最大) 一个字段的值,它不关心其他字段中的重复。 -
@ASGM 我没有添加我尝试过的内容,因为我没有使用任何 pandas 方法来解决它,我正在寻找使用 pandas 的更好(更简单)的方法
标签: python pandas dataframe group-by pandas-groupby