熊猫标签重复

2024-03-06

给定以下数据框:

import pandas as pd
d=pd.DataFrame({'label':[1,2,2,2,3,4,4],
               'values':[3,5,7,2,5,8,3]})
d
    label   values
0     1       3
1     2       5
2     2       7
3     2       2
4     3       5
5     4       8
6     4       3

我知道如何计算这样的唯一值:

d['dup']=d.groupby('label')['label'].transform('count')

结果是:

    label   values  dup
0     1     3       1
1     2     5       3
2     2     7       3
3     2     2       3
4     3     5       1
5     4     8       2
6     4     3       2

但我想要的是一个具有以下值的列:1如果有1 unique每个标签列的行,2如果有duplicates有问题的行是first这样的,以及0如果该行是duplicate一个原创的。像这样:

    label   values  dup  status
0     1     3       1     1
1     2     5       3     2
2     2     7       3     0
3     2     2       3     0
4     3     5       1     1
5     4     8       2     2
6     4     3       2     0

提前致谢!


我想你可以使用loc http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html具有由函数创建的条件duplicated http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.duplicated.html:

d['status'] = 2
d.loc[d.dup == 1, 'status'] = 1
d.loc[d.label.duplicated(), 'status'] = 0 
print (d)

   label  values  dup  status
0      1       3    1       1
1      2       5    3       2
2      2       7    3       0
3      2       2    3       0
4      3       5    1       1
5      4       8    2       2
6      4       3    2       0

或双numpy.where http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.where.html:

d['status1'] = np.where(d.dup == 1, 1,
               np.where(d.label.duplicated(), 0, 2))

print (d)  
   label  values  dup  status  status1
0      1       3    1       1        1
1      2       5    3       2        2
2      2       7    3       0        0
3      2       2    3       0        0
4      3       5    1       1        1
5      4       8    2       2        2
6      4       3    2       0        0           
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

熊猫标签重复 的相关文章

  • Django 独特的不工作

    我在从查询中过滤掉重复项时遇到问题 我正在使用 Django 1 4 和 Postgres 8 4 13 我在我的模型对象上使用这个查询 它是一个 jquery 自动完成 term request GET get term field re
  • 如何按 pandas 中的值对系列进行分组?

    我现在有一只熊猫Series与数据类型Timestamp 我想按日期对其进行分组 并且每组中有许多行具有不同的时间 看似显而易见的方法类似于 grouped s groupby lambda x x date 然而 熊猫的groupby按索
  • Pandas 多索引数据框中组之间的计算

    假设我生成一个多索引数据框如下 arrays np array bar bar baz baz foo foo qux qux np array one two one two one two one two df pd DataFrame
  • Pandas:使用日期时间索引列表从 DataFrame 中提取多行

    我有一个 pandas Dataframe 其索引具有秒频率 DatetimeIndex 2015 12 28 05 20 05 2015 12 28 05 20 06 2015 12 28 05 20 07 2015 12 28 05 2
  • 没有名为“PIL”的模块

    当我尝试时遇到错误 from PIL import Image ImageFilter 在 Python 文件中我收到一条错误消息ModuleNotFoundError No module named PIL 到目前为止 我已经尝试卸载 重
  • 如果 csv 存储为变量,如何使用 pandas read_csv() 方法?

    我正在尝试处理谷歌电子表格中的数据 将其读入 csv 然后使用 pandas read csv 将其作为数据框处理 我可以将 csv 读入变量 下面的变量 data 但不能在变量上使用 pandas read csv 我尝试使用 os cw
  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • Pandas 根据 diff 列形成簇

    我正在尝试使用 Pandas 根据表示时间 以秒为单位 的列中的差异来消除数据框中的一些接近重复项 例如 import pandas as pd numpy as np df pd DataFrame 1200 1201 1233 1555
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • 如何优化分割重叠范围?

    我编写的这个 Python 脚本用于将重叠范围拆分为唯一范围 最后一次迭代 https codereview stackexchange com questions 285932 python script to split overlap
  • 在sklearn中将文本列转换为数字

    我是数据分析新手 我正在尝试 python Sklearn 中的一些模型 我有一个数据集 其中某些列具有文本列 就像下面这样 Dataset 有没有办法将这些列值转换为 pandas 或 Sklearn 中的数字 为这些值分配数字是对的吗
  • 根据数据框中的内容从SQL Server删除行

    我在 SQL Server 中有一个名为的库存表dbo inventory其中包含Year Month Material and Stock quantity 我每天都会收到 csv 文件形式的新库存计数 需要将其加载到dbo invent
  • 根据 pandas 列中的字符串值从 DataFrame 中选择行

    如何根据pandas列中的字符串值从DataFrame中选择行 我只想显示全部大写的状态 各州拥有城市总数 import pandas as pd import matplotlib pyplot as plt pylab inline d
  • Pandas:如果单元格包含特定文本则删除行

    pandas 中的这段代码不起作用 如果该列包含提供的任何文本 数字 我希望它删除该行 目前 我只能在单元格与我的代码中传递的确切文本匹配时才能使其工作 因为它只删除显示 Fin 的单元格不是金融或金融 df2 df df Team Fin
  • 如何在 pandas 中使用 read_fwf 跳过空行?

    I use pandas read fwf http pandas pydata org pandas docs stable generated pandas read fwf htmlPython pandas 0 19 2 中的函数读
  • 使用 Pandas 计算 delta 列

    我有一个数据框 如下所示 Name Variable Field A 2 3 412 A 2 9 861 A 3 5 1703 B 3 5 1731 A 4 0 2609 B 4 0 2539 A 4 6 2821 B 4 6 2779 A
  • 动态过滤 pandas 数据框

    我正在尝试使用三列的阈值来过滤 pandas 数据框 import pandas as pd df pd DataFrame A 6 2 10 5 3 B 2 5 3 2 6 C 5 2 1 8 2 df df loc df A gt 0
  • 从 pandas DataFrame 中删除少于 K 个连续 NaN

    我正在处理时间序列数据 我在从数据帧列中删除小于或等于阈值的连续 NaN 时遇到问题 我尝试查看一些链接 例如 标识连续 NaN 出现的位置以及计数 Pandas NaN 孔的游程长度 https stackoverflow com que
  • 将上下文管理器的动态可迭代链接到单个 with 语句

    我有一堆想要链接的上下文管理器 第一眼看上去 contextlib nested看起来是一个合适的解决方案 但是 此方法在文档中被标记为已弃用 该文档还指出最新的with声明直接允许这样做 自 2 7 版起已弃用 with 语句现在支持此

随机推荐