๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป Programming/Python

[pandas] ํŠน์ • ์ปฌ๋Ÿผ์—์„œ ์ค‘๋ณต๋œ ๊ฐ’ ์ œ๊ฑฐ | drop_duplicates

by ๋ญ…์ฆค 2023. 11. 17.
๋ฐ˜์‘ํ˜•

ํŒ๋‹ค์Šค ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์—์„œ ๊ฐ„ํ˜น ํŠน์ • ์ปฌ๋Ÿผ์— ์ค‘๋ณต๋œ ๊ฐ’์„ ์ œ๊ฑฐํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

 

๋งŒ์•ฝ ์ค‘๋ณต๋œ ๊ฐ’์„ ๊ฐ€์ง„ ํ–‰ ์ค‘ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ํ–‰์„ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์ค‘๋ณต๋œ ํ–‰์„ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

import pandas as pd

# ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ƒ์„ฑ
data = {'column_name': [1, 2, 3, 1, 2, 4]}
df = pd.DataFrame(data)

# ์ค‘๋ณต๋œ ๊ฐ’์„ ๊ฐ€์ง„ ํ–‰ ์ค‘ ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ํ–‰์„ ์ œ์™ธํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์ค‘๋ณต๋œ ํ–‰ ์ œ๊ฑฐ
df_no_duplicates = df.drop_duplicates(subset='column_name', keep='first')

# ๊ฒฐ๊ณผ ์ถœ๋ ฅ
print(df_no_duplicates)

# ํ–‰ ๊ฐœ์ˆ˜ ๋น„๊ต
print(len(df.values.tolist()))
print(len(df_no_duplicates.values.tolist()))
  • drop_duplicates ํ•จ์ˆ˜์˜ subset ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ค‘๋ณต์„ ํ™•์ธํ•  ์ปฌ๋Ÿผ์„ ์ง€์ •ํ•˜๊ณ , keep ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์–ด๋–ค ์ค‘๋ณต๊ฐ’์„ ์œ ์ง€ํ• ์ง€๋ฅผ ์„ค์ •
  • drop_duplicates(subset='column_name', keep='first') ์‚ฌ์šฉ ์‹œ ์ฒ˜์Œ ๋‚˜ํƒ€๋‚œ ๊ฐ’๋งŒ ์œ ์ง€
    • keep='last'๋กœ ์„ค์ • ์‹œ ๋งˆ์ง€๋ง‰ ๋‚˜ํƒ€๋‚œ ๊ฐ’๋งŒ ์œ ์ง€
  • ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ํ–‰ ๊ฐœ์ˆ˜๋ฅผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Œ

 

 

๋ฐ˜์‘ํ˜•