您好,登錄后才能下訂單哦!
本篇內容主要講解“Python對數據去重處理及數據統計的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python對數據去重處理及數據統計的方法是什么”吧!
去重操作在處理數據的過程中是少不了的。例如:我們想知道一個班上有多少個人擔任了班級職位,但有可能有的人身兼多職,這時候就需要對數據進行去重。下面以簡單地數字列表為例,和大家介紹三種簡單地去重操作:
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
new_array = []
for i in array:
if i in new_array:
continue
else:
new_array.append(i)
print(new_array)
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
new_array = list(set(array))
print(new_array)
輸出結果:
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
new_array = list({}.fromkeys(array).keys())
print(new_array)
比較以上三種去重方式:
(1)循環,顯然就比較繁瑣,而且結果不會自動排序。
(2)set()方法,需要對集合有一定的了解,結果是會自動排序的。
(3)keys()方法,需要對字典有一定的了解,雖然比循環簡短許多,但是和循環一樣,結果不會進行自動排序。
第一種方法非常簡單,這也是因為這個數組比較簡單,可以直接使用len(array)
取列表的長度即可。
不過我建議使用的是第二種方法,使用 pandas 庫。
注:說一句廢話,如果您對 Python 大數據有很深的興趣,那么學習 pandas 庫是非常有必要的。
import pandas as pd
array = [1,2,3,3,2,3,4,2,4,3,1,2,6,3,3,2,4,2,3,4,6,2,3,6,4,7,5,4,3,5,6,7,9,5,4,6,8,9,5,4,5,3,6,7,8,5,4,6,8,4,5,6,7]
sr = pd.Series(array)
print(sr.head())
print(sr.count())
print(sr.value_counts())
print(sr.value_counts().count())
head()
方法是只打印列表中的前5行,如果你想要打印多一點,你可以傳入參數。例如,你想打印20行,只需要傳入20即可,head(20)
.
count()
方法是對列表進行統計。從打印結果可以看到,這個數組一共有 53 個數值。
value_counts()
方法是對列表進行去重,然后重新返回一個新的列表,同時默認按照從多到少排序。再用count()
方法就可以知道去重后的數值一共 9 個。
到此,相信大家對“Python對數據去重處理及數據統計的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。