pandas - ์ž…๋ฌธ 2

c.haha.eยท2025๋…„ 3์›” 24์ผ

pandas

๋ชฉ๋ก ๋ณด๊ธฐ
2/17

๐Ÿ“Œ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ณด๊ธฐ

๐Ÿ‘‰ ์ธ๋ฑ์‹ฑ & ์Šฌ๋ผ์ด์‹ฑ

df['๊ตญ์–ด']                 # ์—ด ํ•˜๋‚˜ ์„ ํƒ
df[['๊ตญ์–ด', '์ˆ˜ํ•™']]        # ์—ด ์—ฌ๋Ÿฌ ๊ฐœ ์„ ํƒ
df[0:2]                   # ํ–‰ ์Šฌ๋ผ์ด์‹ฑ (0~1๋ฒˆ ํ–‰)
df.loc[0]                 # loc: ์ธ๋ฑ์Šค ์ด๋ฆ„์œผ๋กœ ์ ‘๊ทผ
df.iloc[0]                # iloc: ํ–‰ ๋ฒˆํ˜ธ๋กœ ์ ‘๊ทผ

๐Ÿ‘‰ ์กฐ๊ฑด ํ•„ํ„ฐ๋ง

df[df['๊ตญ์–ด'] >= 90]                        # ๊ตญ์–ด ์ ์ˆ˜ 90 ์ด์ƒ
df[(df['๊ตญ์–ด'] >= 85) & (df['์ˆ˜ํ•™'] >= 90)]  # AND ์กฐ๊ฑด
df[df['์ด๋ฆ„'].isin(['์ฒ ์ˆ˜', '์˜ํฌ'])]        # ๊ฐ’ ์—ฌ๋Ÿฌ ๊ฐœ ์กฐ๊ฑด

๐Ÿ‘‰ ์ •๋ ฌ

df.sort_values(by='๊ตญ์–ด', ascending=True)       # ๊ตญ์–ด ๊ธฐ์ค€ ์˜ค๋ฆ„์ฐจ์ˆœ
df.sort_values(by='์ˆ˜ํ•™', ascending=False)      # ์ˆ˜ํ•™ ๊ธฐ์ค€ ๋‚ด๋ฆผ์ฐจ์ˆœ

๐Ÿ‘‰ ์—ด ์ถ”๊ฐ€

df['์ด์ '] = df['๊ตญ์–ด'] + df['์ˆ˜ํ•™'] + df['๊ณผํ•™']  # ์—ด ์ถ”๊ฐ€

๐Ÿ“Œ ํ–‰์ด๋‚˜ ์—ด ์‚ญ์ œ

df.drop(์‚ญ์ œํ• _์ด๋ฆ„, axis=๋ฐฉํ–ฅ, inplace=๋ฐ˜์˜์—ฌ๋ถ€)

๐Ÿ‘‰ ์—ด(Column) ์‚ญ์ œ

df.drop('์ด์ ', axis=1)
  • '์ด์ ' : '์ด์ ' ์„ ํƒ
  • axis=1 : ์—ด ๋ฐฉํ–ฅ
  • df.drop() : ์‚ญ์ œ
  • df = df.drop('์ด์ ', axis=1) : '์ด์ ' ์ด๋ผ๋Š” ์—ด์„ ์„ ํƒํ•ด์„œ ์‚ญ์ œ ํ›„ ์‚ญ์ œ๋œ DataFrame์„ df์— ํ• ๋‹น

๋˜๋Š”, df.drop(columns='์ด์ ') ์œผ๋กœ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ.

df.drop('์ด์ ', axis=1, inplace=True)
  • inplace=True : df์— ํ• ๋‹นํ•ด์ฃผ์ง€ ์•Š์•„๋„ df๊ฐ€ ๋ฐ”๋กœ ๋ฐ”๋€œ
df = pd.DataFrame({
    '์ด๋ฆ„': ['์ฒ ์ˆ˜', '์˜ํฌ'],
    '๊ตญ์–ด': [90, 85],
    '์ˆ˜ํ•™': [88, 92],
    '์ด์ ': [178, 177]
})

# df.drop('์ด์ ', axis=1, inplace=True) #์›๋ณธ์ˆ˜์ •
df = df.drop('์ด์ ', axis=1)  # ์ด์  ์—ด ์‚ญ์ œ
print(df)
์ฝ”๋“œ๊ฒฐ๊ณผ์„ค๋ช…
df.drop('์ด์ ', axis=1)โœ… OK'์ด์ ' ์—ด ์‚ญ์ œ
df.drop(columns='์ด์ ')โœ… OK'์ด์ ' ์—ด ์‚ญ์ œ (๋” ์•ˆ์ „ํ•˜๊ณ  ๊ฐ€๋…์„ฑ ์ข‹์Œ)
df.drop(df['์ด์ '], axis=1)โŒ ์˜ค๋ฅ˜Series ๊ฐ’์„ ์—ด ์ด๋ฆ„์œผ๋กœ ์˜คํ•ดํ•ด์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

๐Ÿ‘‰ ํ–‰(Row) ์‚ญ์ œ

df.drop(0, axis=0)
  • 0๋ฒˆ ์ธ๋ฑ์Šค ํ–‰ ์‚ญ์ œ
  • axis=0 โ†’ ํ–‰ ๋ฐฉํ–ฅ

์ธ๋ฑ์Šค(index)?
ํ–‰(row)์„ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฒˆํ˜ธ๋‚˜ ์ด๋ฆ„!

Pandas์—์„œ๋Š” ๋ชจ๋“  ํ–‰๋งˆ๋‹ค ๊ณ ์œ ํ•œ "์ด๋ฆ„ํ‘œ"๊ฐ€ ์žˆ์Œ.
์ด ์ด๋ฆ„ํ‘œ๊ฐ€ ๋ฐ”๋กœ ์ธ๋ฑ์Šค, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด๋ฆ„์ด ๋ฐ”๋กœ "๋ผ๋ฒจ(label)"
์ฆ‰ "์ธ๋ฑ์Šค" = "๋ผ๋ฒจ"

์ธ๋ฑ์Šค ์ข…๋ฅ˜์˜ˆ์‹œ์„ค๋ช…
๊ธฐ๋ณธ ์ธ๋ฑ์Šค0, 1, 2, 3...์ˆซ์ž๋กœ ์ž๋™ ์ƒ์„ฑ๋˜๋Š” ์ธ๋ฑ์Šค
๋ผ๋ฒจ ์ธ๋ฑ์Šค'์ฒ ์ˆ˜', '์˜ํฌ' ๋“ฑ์ง์ ‘ ์ง€์ •ํ•œ ๋ฌธ์ž์—ด ๋“ฑ์˜ ์ธ๋ฑ์Šค

๐Ÿ“Œ ๋ฐ์ดํ„ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ

df.head()       # ์•ž์—์„œ 5ํ–‰ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ
df.tail()       # ๋’ค์—์„œ 5ํ–‰ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ
df.info()       # ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ๊ฒฐ์ธก์น˜, ํƒ€์ž… ํ™•์ธ
df.describe()   # ์ˆซ์ž ๋ฐ์ดํ„ฐ ์š”์•ฝ ํ†ต๊ณ„ (ํ‰๊ท , ํ‘œ์ค€ํŽธ์ฐจ ๋“ฑ)

๐Ÿ“Œ ๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ(๊ฒฐ์ธก์น˜ = NaN)

๐Ÿ‘‰ ๊ฒฐ์ธก์น˜ ํ™•์ธ(isnull() == isna())

df.isna()               # ๊ฒฐ์ธก์น˜ ์—ฌ๋ถ€๋ฅผ True/False๋กœ ๋ณด์—ฌ์คŒ
df.isna().sum()         # ์—ด๋งˆ๋‹ค ๊ฒฐ์ธก์น˜ ๊ฐœ์ˆ˜ ํ™•์ธ
df.isnull()             # ๊ฒฐ์ธก์น˜ ์—ฌ๋ถ€๋ฅผ True/False๋กœ ๋ณด์—ฌ์คŒ
df.isnull().sum()       # ์—ด๋งˆ๋‹ค ๊ฒฐ์ธก์น˜ ๊ฐœ์ˆ˜ ํ™•์ธ

๐Ÿ‘‰ ๊ฒฐ์ธก์น˜ ์ฑ„์šฐ๊ธฐ (fillna)

df['๊ตญ์–ด'].fillna(0)                 # ๊ตญ์–ด ๊ฒฐ์ธก์น˜๋ฅผ 0์œผ๋กœ ์ฑ„์›€
df['์ˆ˜ํ•™'].fillna(df['์ˆ˜ํ•™'].mean()) # ์ˆ˜ํ•™ ๊ฒฐ์ธก์น˜๋ฅผ ํ‰๊ท ์œผ๋กœ ์ฑ„์›€

์‹ค์ œ ๋ฐ˜์˜ํ•˜๋ ค๋ฉด inplace=True๋‚˜ df = df.fillna(...) ํ˜•์‹ ์‚ฌ์šฉ

๐Ÿ‘‰ ๊ฒฐ์ธก์น˜ ์ œ๊ฑฐ (dropna)

df.dropna()       # ๊ฒฐ์ธก์น˜๊ฐ€ ์žˆ๋Š” ํ–‰ ์ œ๊ฑฐ
df.dropna(axis=1) # ๊ฒฐ์ธก์น˜๊ฐ€ ์žˆ๋Š” ์—ด ์ œ๊ฑฐ

axis=0 -> defult

๐Ÿ‘‰ index(label) ์„ค์ • ์‚ญ์ œ

df.reset_index(): ๊ธฐ์กด ์ธ๋ฑ์Šค๋ฅผ ์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ƒˆ๋กœ์šด ์ •์ˆ˜ํ˜• ๊ธฐ๋ณธ ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •

df.set_index('column_name'): ํŠน์ • ์—ด์„ ์ธ๋ฑ์Šค๋กœ ์„ค์ •

reset_index(drop=True) : ์ธ๋ฑ์Šค๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œ

import pandas as pd

# ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์ƒ์„ฑ
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df.set_index('A', inplace=True)  # 'A' ์—ด์„ ์ธ๋ฑ์Šค๋กœ ์„ค์ •
print(df)

# ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๊ธฐ๋ณธ ์ •์ˆ˜ํ˜• ์ธ๋ฑ์Šค๋กœ ๋ณ€๊ฒฝ
df_reset = df.reset_index(drop=True)
print(df_reset)
profile
๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€