πŸ’» Programming/Python

[pandas] νŠΉμ • μ»¬λŸΌμ—μ„œ μ€‘λ³΅λœ κ°’ 제거 | drop_duplicates

뭅즀 2023. 11. 17. 08:08
λ°˜μ‘ν˜•

νŒλ‹€μŠ€ λ°μ΄ν„°ν”„λ ˆμž„μ—μ„œ κ°„ν˜Ή νŠΉμ • μ»¬λŸΌμ— μ€‘λ³΅λœ 값을 μ œκ±°ν•˜κ³  싢은 κ²½μš°κ°€ μžˆλ‹€.

 

λ§Œμ•½ μ€‘λ³΅λœ 값을 가진 ν–‰ 쀑 처음 λ“±μž₯ν•˜λŠ” 행을 μ œμ™Έν•˜κ³  λ‚˜λ¨Έμ§€ μ€‘λ³΅λœ 행을 λͺ¨λ‘ μ œκ±°ν•˜κ³  μ‹Άλ‹€λ©΄ λ‹€μŒκ³Ό 같은 방법을 μ‚¬μš©ν•  수 μžˆλ‹€.

 

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'둜 μ„€μ • μ‹œ λ§ˆμ§€λ§‰ λ‚˜νƒ€λ‚œ κ°’λ§Œ μœ μ§€
  • λ°μ΄ν„°ν”„λ ˆμž„μ„ 리슀트둜 λ³€ν™˜ν•˜μ—¬ ν–‰ 개수λ₯Ό 비ꡐ할 수 있음

 

 

λ°˜μ‘ν˜•