本文主要介紹了pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn),分享給大家,具體如下:
from pandas import DataFrame
df = DataFrame({'key1':['a','a','b','b','a','a'],
'key2':['one','two','one','two','one','one'],
'data1':[1,2,3,2,1,1],
# 'data2':np.random.randn(5)
})
# 打印數(shù)據(jù)框
print(df)
# data1 key1 key2
# 0 1 a one
# 1 2 a two
# 2 3 b one
# 3 2 b two
# 4 1 a one
# 5 1 a one
# 重復(fù)項(xiàng)
print(df[df.duplicated()])
# data1 key1 key2
# 4 1 a one
# 5 1 a one
# 統(tǒng)計(jì)重復(fù)值
dup=df[df.duplicated()].count()
print(dup) # 最后兩項(xiàng)重復(fù)
# data1 2
# key1 2
# key2 2
# 去除重復(fù)項(xiàng)
nodup=df[-df.duplicated()]
print(nodup)
# data1 key1 key2
# 0 1 a one
# 1 2 a two
# 2 3 b one
# 3 2 b two
pandas 中 dataframe 重復(fù)元素個(gè)數(shù)的獲取
方法有二:
1. 在調(diào)用duplicated方法后,非重復(fù)的元素會(huì)被標(biāo)記為False,而重復(fù)的元素會(huì)被標(biāo)記為True
count = 0
for i in users_info['user_id'].duplicated():
if i == True:
count = count + 1
count
【注1】users_info為一個(gè)dataframe框,user_id為其中一列
【注2】duplicated( )方法只會(huì)把重復(fù)的元素標(biāo)記為True,而不會(huì)標(biāo)記被重復(fù)的元素
2.這行代碼的速度更快,drop_duplicates(['user_id'])方法為刪除user_id列中相同的元素
users_info.shape[0] - users_info.drop_duplicates(['user_id']).shape[0]
【注】shape[0] 為獲取行數(shù)
到此這篇關(guān)于pandas統(tǒng)計(jì)重復(fù)值次數(shù)的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pandas統(tǒng)計(jì)重復(fù)值次數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Pandas 數(shù)據(jù)處理,數(shù)據(jù)清洗詳解
- Pandas統(tǒng)計(jì)重復(fù)的列里面的值方法
- pandas數(shù)據(jù)處理基礎(chǔ)之篩選指定行或者指定列的數(shù)據(jù)
- Python Pandas數(shù)據(jù)分析工具用法實(shí)例
- Python教程pandas數(shù)據(jù)分析去重復(fù)值