将第二个条目保留在数据框中

瓦西里斯

我在下面为您展示示例数据集和所需的输出。

身份证号码

1   50

1   49

1   48

2   47

2   40

2   31

3   60

3   51

3   42

输出示例

1  49

2  40

3  51

我想为数据集中的每个组保留第二个条目。我已经按ID对它们进行了分组,但是我不希望每个ID保留第二个条目,然后从ID中删除所有重复项。

耶斯列尔

使用GroupBy.nth1用于第二排,因为蟒蛇数从0

df1 = df.groupby('ID', as_index=False).nth(1)
print (df1)
   ID  number
1   1      49
4   2      40
7   3      51

GroupBy.cumcount计数器和过滤的另一种解决方案boolean indexing

df1 = df[df.groupby('ID').cumcount() == 1]

详细资料

print (df.groupby('ID').cumcount())
0    0
1    1
2    2
3    0
4    1
5    2
6    0
7    1
8    2
dtype: int64

编辑:第二个最大值的解决方案-s首先排序,然后获取第二行-值对于每个组必须是唯一的:

df = (df.sort_values(['ID','number'], ascending=[True, False])
        .groupby('ID', as_index=False)
        .nth(1))

print (df)
   ID  number
1   1      49
4   2      40
7   3      51

如果要存在第二个最大值,则添加DataFrame.drop_duplicates

print (df)

   ID  number
0   1      50 <-first max
1   1      50 <-first max
2   1      48 <-second max
3   2      47
4   2      40
5   2      31
6   3      60
7   3      51
8   3      42

df3 = (df.drop_duplicates(['ID','number'])
       .sort_values(['ID','number'], ascending=[True, False])
       .groupby('ID', as_index=False)
       .nth(1))

print (df3)
   ID  number
2   1      48
4   2      40
7   3      51

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据第二个索引将行标签的子集保留在Pandas DataFrame中

来自分类Dev

jQuery map对象将所有内容保留在第二个数组中

来自分类Dev

基于将第二个向量与另一个对象中的行名匹配,在数据框中创建向量

来自分类Dev

仅将向量R中找到的字保留在数据框中

来自分类Dev

如何仅将字符串保留在数据框列中

来自分类Dev

将记录的最新GROUPR保留在数据框中

来自分类Dev

如何仅将数字保留在数据框的列的字符串中?

来自分类Dev

将行保留在数据框中,用于列中值的最后 n 次出现

来自分类Dev

替换过滤数据框的第二个条目

来自分类Dev

如何将表条目与R中第二个表的列表条目匹配?

来自分类Dev

在数据框中找到第二个最小值的索引

来自分类Dev

根据第二个数据框中的匹配键将列表追加到Spark数据框列

来自分类Dev

将新列分配给R中第二个数据框的数据框列表

来自分类Dev

数据框中的值介于第二个数据框中的值之间

来自分类Dev

在数组中查找第二个正值

来自分类Dev

有条件地将第二个字典中的字典条目添加到新字典中,同时保留新的字典键

来自分类Dev

将所有数据保留在数据框中,但 2 列中的特定行除外

来自分类Dev

从第二个文本框获取数据

来自分类Dev

Python-根据部分字符串匹配将数据行保留在数据框中

来自分类Dev

将 Pandas 数据框与 Series 连接并乘以第二个元素

来自分类Dev

将具有某些值的行保留在数据框中,并删除所有其他行[R]

来自分类Dev

根据第二个数据框中的匹配创建新列

来自分类Dev

根据第二个的NA值覆盖熊猫数据框中的值

来自分类Dev

如何在熊猫数据框中设置第二个?

来自分类Dev

添加列并从第二个数据框R中插入信息

来自分类Dev

删除数据框中的第二个精确观测值

来自分类Dev

根据第二个数据框中的部分匹配创建新列

来自分类Dev

使用保留,丢弃和过滤将数据帧保留在数据帧列表中

来自分类Dev

如何在数据框/小标题中的字符串中小写第二个字母

Related 相关文章

  1. 1

    根据第二个索引将行标签的子集保留在Pandas DataFrame中

  2. 2

    jQuery map对象将所有内容保留在第二个数组中

  3. 3

    基于将第二个向量与另一个对象中的行名匹配,在数据框中创建向量

  4. 4

    仅将向量R中找到的字保留在数据框中

  5. 5

    如何仅将字符串保留在数据框列中

  6. 6

    将记录的最新GROUPR保留在数据框中

  7. 7

    如何仅将数字保留在数据框的列的字符串中?

  8. 8

    将行保留在数据框中,用于列中值的最后 n 次出现

  9. 9

    替换过滤数据框的第二个条目

  10. 10

    如何将表条目与R中第二个表的列表条目匹配?

  11. 11

    在数据框中找到第二个最小值的索引

  12. 12

    根据第二个数据框中的匹配键将列表追加到Spark数据框列

  13. 13

    将新列分配给R中第二个数据框的数据框列表

  14. 14

    数据框中的值介于第二个数据框中的值之间

  15. 15

    在数组中查找第二个正值

  16. 16

    有条件地将第二个字典中的字典条目添加到新字典中,同时保留新的字典键

  17. 17

    将所有数据保留在数据框中,但 2 列中的特定行除外

  18. 18

    从第二个文本框获取数据

  19. 19

    Python-根据部分字符串匹配将数据行保留在数据框中

  20. 20

    将 Pandas 数据框与 Series 连接并乘以第二个元素

  21. 21

    将具有某些值的行保留在数据框中,并删除所有其他行[R]

  22. 22

    根据第二个数据框中的匹配创建新列

  23. 23

    根据第二个的NA值覆盖熊猫数据框中的值

  24. 24

    如何在熊猫数据框中设置第二个?

  25. 25

    添加列并从第二个数据框R中插入信息

  26. 26

    删除数据框中的第二个精确观测值

  27. 27

    根据第二个数据框中的部分匹配创建新列

  28. 28

    使用保留,丢弃和过滤将数据帧保留在数据帧列表中

  29. 29

    如何在数据框/小标题中的字符串中小写第二个字母

热门标签

归档