Pandas之删除重复元素
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
%matplotlib inline
创建一个DataFrame
df = DataFrame(data = np.random.randint(0,150,size=(5,3)),columns=list('ABC'))
df.loc[0] = [100,100,10]
df.loc[2] = [100,100,100]
df.loc[4] = [100,100,100]
使用duplicated()函数检测重复的列,返回元素为布尔类型的Series对象,每个元素对应一行索引,如果该行不是第一次出现,则元素为True
使用drop_duplicates()函数删除重复的列,使用duplicated()函数查看重复的列。
df.duplicated(subset=None, keep='first') 当subset为None时,默认查看重复的行# keep 参数("first","last",Flase)三个参数
df.drop_duplicates(subset=None, keep='first', inplace=False) 当subset为None时,默认删除重复的行# keep 参数("first","last",Flase)三个参数
返回重复行的索引或者数据index = df[df.duplicated(keep='last')]或者index = df[df.duplicated(keep='last')].index
删除重复行df.drop_duplicates(keep='last')
一定注意,有没有subset参数,如果默认没有就是查找或删除所有的行,如果有subset参数,就是查找或者删除重复的列df.drop_duplicates("B",'last'),“B”表示删除列索引为B的数据重复的行