查询col1列重复值所在行
  X5zJxoD00Cah 2023年11月02日 61 0
df_test = pd.DataFrame({'col1': ['A']*2+['B'], 'col2': range(3)})  # 查询col1列重复值所在行
df_test.col1.duplicated()  # 首次出现不算重复
df_test.query("col1.duplicated()")  # 只能筛选出非首次出现的重复值所在行
# 方法一
df_test.duplicated(subset=['col1'], keep=False)  # keep=False 参数表示保留所有重复值所在的行
df_test[df_test.duplicated(subset=['col1'], keep=False)]
# 方法二
df_test.query('''col1 in @df_test.query("col1.duplicated()").col1''')
# 方法三
ser_bool = (df_test.col1.value_counts() > 1)
ser_bool[ser_bool]
df_test.query('''col1 in @ser_bool[@ser_bool].index''')
# 方法四
df_bool = (df_test.col1.value_counts() > 1).reset_index()
df_test.merge(df_bool, left_on='col1', right_on='index', suffixes=('', '_y')).query("col1_y")[df_test.columns]

pandas.DataFrame.duplicated

Determines which duplicates (if any) to mark.

  • first : Mark duplicates as True except for the first occurrence.
  • last : Mark duplicates as True except for the last occurrence.
  • False : Mark all duplicates as True.
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年11月19日   16   0   0 pandas
  X5zJxoD00Cah   2023年11月19日   14   0   0 pandas
  X5zJxoD00Cah   2023年11月02日   26   0   0 pandas
  X5zJxoD00Cah   2023年11月19日   22   0   0 pandas
  X5zJxoD00Cah   2023年11月02日   28   0   0 pandas
  X5zJxoD00Cah   2023年11月02日   17   0   0 pandas
  X5zJxoD00Cah   2023年11月02日   31   0   0 pandas
  X5zJxoD00Cah   2023年11月02日   30   0   0 pandas
  X5zJxoD00Cah   2023年11月02日   61   0   0 pandas
  X5zJxoD00Cah   2023年11月12日   25   0   0 pandas
X5zJxoD00Cah