【數據分析可視化】通過去重進行數據清洗

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
# 讀取剛剛分解處理完的返回數據
link_csv = '/Users/bennyrhys/Desktop/數據分析可視化-數據集/homework/demo_duplicate.csv'
df = pd.read_csv(link_csv)
df
Unnamed: 0 Price Seqno Symbol time
0 0 1623.0 0.0 APPL 1473411962
1 1 1623.0 0.0 APPL 1473411962
2 2 1623.0 0.0 APPL 1473411963
3 3 1623.0 0.0 APPL 1473411963
4 4 1649.0 1.0 APPL 1473411963
# 刪掉無用的unname
del df['Unnamed: 0']
df
Price Seqno Symbol time
0 1623.0 0.0 APPL 1473411962
1 1623.0 0.0 APPL 1473411962
2 1623.0 0.0 APPL 1473411963
3 1623.0 0.0 APPL 1473411963
4 1649.0 1.0 APPL 1473411963
df.size
20
len(df)
5
# 查看no列有多少重複的
df['Seqno'].unique()
array([0., 1.])
len(df['Seqno'].unique())
2
# 檢測是否與前邊重複
df['Seqno'].duplicated()
0    False
1     True
2     True
3     True
4    False
Name: Seqno, dtype: bool
# 刪掉重複的數據也就是上方展示爲true的數據
df['Seqno'].drop_duplicates()
0    0.0
4    1.0
Name: Seqno, dtype: float64
# 這樣範圍侷限,無法展示全部(Series)
type(df['Seqno'].drop_duplicates())
pandas.core.series.Series
# 這樣no列重複值刪不感覺(不傳參,則整體考慮某列重複最小處理原則)
df.drop_duplicates()
Price Seqno Symbol time
0 1623.0 0.0 APPL 1473411962
2 1623.0 0.0 APPL 1473411963
4 1649.0 1.0 APPL 1473411963
# 在DataFrame狀態下進行處理(暫時全部)
df.drop_duplicates(['Seqno'])
Price Seqno Symbol time
0 1623.0 0.0 APPL 1473411962
4 1649.0 1.0 APPL 1473411963
# 去重 參數(保留最後出現的)
df.drop_duplicates(['Seqno'],keep='last')
Price Seqno Symbol time
3 1623.0 0.0 APPL 1473411963
4 1649.0 1.0 APPL 1473411963
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章