pandas統計重複值次數

2021-09-19 20:49:28 字數 2284 閱讀 4111

**

from pandas import dataframe

df = dataframe()

print(df)

key1 key2 key3

# 0 a one 1

# 1 a two 2

# 2 b one 3

# 3 b two 2

# 4 a one 1

# 5 a one 1

# 6 b two 2

# 7 b two 3

#重複項

print(df[df.duplicated()]) #找出全部列的重複項

# key1 key2 key3

# 4 a one 1

# 5 a one 1

# 6 b two 2

df[df.duplicated(['key1','key2'])] #只找出key1,key2相同的重複項

# key1 key2 key3

# 4 a one 1

# 5 a one 1

# 6 b two 2

# 7 b two 3

column_names = ['key1', 'key2']

df[df.duplicated(column_names)] #只找出key1,key2相同的重複項

# key1 key2 key3

# 4 a one 1

# 5 a one 1

# 6 b two 2

# 7 b two 3

# 統計重複值

dup=df[df.duplicated()].count()

print(dup)

# key1 3

# key2 3

# key3 3

# dtype: int64

# 去除重複項

nodup=df[-df.duplicated()]

print(nodup)

# key1 key2 key3

#0 a one 1

#1 a two 2

#2 b one 3

#3 b two 2

#7 b two 3

# 去除重複項,#去除只有key1,key2相同的重複項

nodup=df[-df.duplicated(['key1','key2'])]

print(nodup)

key1 key2 key3

# 0 a one 1

# 1 a two 2

# 2 b one 3

# 3 b two 2

column_names = ['adrequest_id', 'adrequest_time', 'adposition_id', 'user_id', 'exad_id', 'exad_materialsize', 'exad_bid', 'pctr', 'quality_ecpm', 'totalecpm']

#去重所有列標籤,以下兩種篩選出來的結果是一樣的

#exposurelog[exposurelog.duplicated()] #預設去除所有列一樣的

# exposurelog[exposurelog.duplicated(column_names)] #878919行

# exposurelog[exposurelog.duplicated(['adrequest_id', 'adposition_id', 'exad_id'])]

#去除重複項

exposurelog_nodup = exposurelog[-exposurelog.duplicated(column_names)]

print(len(exposurelog_nodup)) #101507776=102386695(total) - 878919(dup)

#儲存到檔案totalexposurelog_nodup.csv中

exposurelog_nodup.to_csv("./data/totalexposurelog_nodup.csv", index=false)

pandas統計csv中相同資料出現次數

在處理csv資料的過程中可能會遇到統計重複資料的情況,筆者以自己遇到的問題為例,給出乙個可以解決此問題的方法。進行操作的csv檔案中含有1700多條資料,其中區域性如下圖所示 目的是計算其中每條資料出現的次數,如下 import pandas as pd csv pd.read csv data a...

統計每個元素重複次數及重複元素

僅統計列表中重複的元素 獲取單個元素的出現次數,使用list中的count方法,count方法,可以返回該元素出現的次數 l 10 11,12 13,15 14,10 10,10 12,12 13 re 獲取單個元素的出現次數,使用list中的count方法 for i in l if l.coun...

pandas 帶有重複值的軸索引

之前的所有範例都有著唯一的軸標籤 索引值 下面就看看帶有重複索引值的series 1 obj series range 5 index a a b b c 23obj 4 out 33 5a 0 6 a 1 7 b 2 8 b 3 9 c 4 10 dtype int64 索引的is unique屬...