drop_duplicates()函数


1dataframe删除某一列的重复元素,默认只留下第一次出现的

inplace参数设置为true时直接在原数据上修改,为False时,生成副本.

注意所有函数中inplace一旦设置为True,此时后面不能再跟任何函数,因为它整体已经是None.想要再跟函数只能再写一行.

且此时在前面也不能赋值,赋值也是None.因为设置为True时,整体是None,设置为False时,整体是一个引用,可以赋给其它变量.

a1 = pd.DataFrame({ 'a': [1, 1, 3, 2,], 'b': [1, 1, 6, 4,], 'c': [1, 1, 3, 9,] }) print(a1) a1.drop_duplicates(inplace=True) print(a1) # 这里inplace为假,整体实际上是一个引用,所以可以直接输出. print(a1.drop_duplicates(['a','b'], keep='first',inplace=False)) # 注意这里因为inplace为真,直接在原数据上修改,直接输出是空,因为它并不是一个引用,a1才是引用.
print(a1.drop_duplicates(['a','b'], keep='first',inplace=True)) # a b c # 0 1 1 1 # 1 1 1 1 # 2 3 6 3 # 3 2 4 9 # a b c # 0 1 1 1 # 2 3 6 3 # 3 2 4 9 # a b c # 0 1 1 1 # 2 3 6 3 # 3 2 4 9 # None

 

 https://blog.csdn.net/qq_28811329/article/details/79962511

 test_sample_quchong = test_sample.drop_duplicates(['ggid'])利用 data.drop_duplicates()#data中一行元素全部相同时才去除可检查dataframe是否有重复的行
 参考:   https://www.cnblogs.com/mahailuo/p/8317178.html
2 想要留下去掉的重复行,可以先删除重复行后,保存索引,再删除索引.
import pandas as pd
import numpy as np
import re

df = pd.DataFrame({'a': [1,1,3,4,3],
                   'b': [1,1,3,4,3],
                   'c': [1,1,3,4,3]})
print('原始数据:\n',df)
print('去掉重复行后:\n', df.drop_duplicates())
drop_index = df.drop_duplicates().index.tolist()
print('去掉的重复行是:\n',df.drop(drop_index))
# 原始数据:
#     a  b  c
# 0  1  1  1
# 1  1  1  1
# 2  3  3  3
# 3  4  4  4
# 4  3  3  3
# 去掉重复行后:
#     a  b  c
# 0  1  1  1
# 2  3  3  3
# 3  4  4  4
# 去掉的重复行是:
#     a  b  c
# 1  1  1  1
# 4  3  3  3
View Code

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM