์ค๋ณตํ ํ์ธ (duplicated)
DataFrame.duplicated(subset=None, keep='first')
duplicated : ์ค๋ณต๋๋ ํ์ ํ์ธ
ํ์ ๋ชจ๋ ์์๊ฐ ๋์ผํ ํ์ด ์ด๋ฏธ ์กด์ฌํ ๊ฒฝ์ฐ ํด๋น ํ์ True๋ก ๋ฐํ
df.duplicated(subset=None, keep='first')
subset : ํน์ ์ด๋ง์ ๋์์ผ๋ก ํ ์ ์์ต๋๋ค. list์ ์ฌ์ฉ๋ ๊ฐ๋ฅํฉ๋๋ค.
keep : {first : ์๋ถํฐ ๊ฒ์ฌ / last : ์๋๋ถํฐ ๊ฒ์ฌ} ๊ฒ์ฌ ์์๋ฅผ ์ ํฉ๋๋ค. first์ผ ๊ฒฝ์ฐ ์๋ถํฐ ํ์ธํด์ ์ค๋ณตํ์ด ๋์ค๋ฉด True๋ฅผ ๋ฐํํ๋ฉฐ, last์ผ ๊ฒฝ์ฐ ์๋๋ถํฐ ํ์ธํฉ๋๋ค.
์์
df = pd.DataFrame({'Num':[1, 2, 1, 2, 2, 3],
'Alphabet':['a', 'b', 'a', 'b', 'a', 'b']})
df
keep='first'์ด๋ฉฐ ์์์๋ถํฐ ํ์ ํ์ธํ์ฌ ์ค๋ณต์ธ ํ์ด ๋์ค๋ฉด True๋ฅผ ๋ฐํ
print(df.duplicated(keep='first'))
keep='last'์ผ ๊ฒฝ์ฐ ์๋๋ถํฐ ํ์ ํ์ธํ์ฌ ์ค๋ณต์ธ ํ์ด ๋์ค๋ฉด True๋ฅผ ๋ฐํ
print(df.duplicated(keep='last'))
์๋ ํ ๋ถํฐ ํ์ธ ํ์์ผ๋ฏ๋ก 0,1๋ฒ์งธ ํ ๋ฐ์ดํฐ๊ฐ ์๋ 2,3๋ฒ์งธ ํ์ ์ค๋ณต ๋ฐ์ดํฐ๊ฐ ๋๋ค.
subset์ผ๋ก ํน์ ์ด๋ง ํ์ธ
print(df.duplicated(subset=['Alphabet']))
์ค๋ณตํ ์ ๊ฑฐ (drop_duplicates)
DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)
drop_duplicates : ๋ด์ฉ์ด ์ค๋ณต๋๋ ํ์ ์ ๊ฑฐํ๋ ๋ฉ์๋
df.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)
subset : ์ค๋ณต๊ฐ์ ๊ฒ์ฌํ ์ด ์
๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ด์ ๊ฒ์ฌํฉ๋๋ค.
keep : {first / last} ์ค๋ณต์ ๊ฑฐ๋ฅผํ ๋ ๋จ๊ธธ ํ์
๋๋ค. first๋ฉด ์ฒซ๊ฐ์ ๋จ๊ธฐ๊ณ last๋ฉด ๋ง์ง๋ง ๊ฐ์ ๋จ๊น๋๋ค.
inplace : ์๋ณธ์ ๋ณ๊ฒฝํ ์ง์ ์ฌ๋ถ์
๋๋ค.
ignore_index : ์๋ index๋ฅผ ๋ฌด์ํ ์ง ์ฌ๋ถ์
๋๋ค. True์ผ ๊ฒฝ์ฐ 0,1,2, ... , n์ผ๋ก ๋ถ์ฌ๋ฉ๋๋ค.
์์
df = pd.DataFrame({'Num':[1, 2, 1, 2, 2, 3],
'Alphabet':['a', 'b', 'a', 'b', 'a', 'b']})
df
df.drop_duplicates()
0,1๋ฒ์งธ ํ๊ณผ ์ค๋ณต๋ 2,3๋ฒ์ฌ ํ ์ ๊ฑฐ
subset์ ํน์ ์ปฌ๋ผ๋ช ๋ง ์ ๋ ฅํ ๊ฒฝ์ฐ, ํด๋น ์ด์๋ํด์๋ง ์ค๋ณต๊ฐ ๊ฒ์ฌ๋ฅผ ์ํ
df.drop_duplicates(subset='Num')
keep์ธ์๋ฅผ ํตํด ๋จ๊ธธ ํ ์ ํ
keep='first'์ธ ๊ฒฝ์ฐ ์ฒ์ ๊ฐ์ ๋จ๊น๋๋ค. (๊ธฐ๋ณธ๊ฐ)
df.drop_duplicates(subset='Num', keep='first')
keep='last'์ธ ๊ฒฝ์ฐ ๋ง์ง๋ง ๊ฐ์ ๋จ๊น๋๋ค.
df.drop_duplicates(subset='Num', keep='last')
์ถ๊ฐ๋ก ignore_index=True๋ก ํ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ 0, 1, 2, ... , n์ผ๋ก ์ค์ ํฉ๋๋ค.
df.drop_duplicates(subset='Num', keep='last',ignore_index=True)
์์ ๊ฒฐ๊ณผ์ ๋์ผํ์ง๋ง ์ธ๋ฑ์ค๊ฐ ๋ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
inplace ์ธ์์ ์ฌ์ฉ
Pandas ๊ณตํต์ฌํญ์ผ๋ก inplace์ธ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋ณธ์ ๋ณ๊ฒฝ์ด ์ ์ฉ
df.drop_duplicates(subset='Num',inplace=True)
print(df)
์ฐธ์กฐ: https://wikidocs.net/154060
09-07. ์ค๋ณตํ ์ ๊ฑฐ (drop_duplicates)
####DataFrame.drop_duplicates(subset=None, keep='first', inplace=False, ignore_index=False) ##๊ฐ์ `d…
wikidocs.net
12-08 ์ค๋ณตํ ํ์ธ (duplicated)
####DataFrame.duplicated(subset=None, keep='first') ##๊ฐ์ `duplicated` ๋ฉ์๋๋ ์ค๋ณต๋๋ ํ์ ํ์ธํ๋ ๋ฉ์๋์ ๋๋ค. ํ์ …
wikidocs.net