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=๋ฐ์์ฌ๋ถ)
df.drop('์ด์ ', axis=1)
๋๋, df.drop(columns='์ด์ ') ์ผ๋ก ๋ ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์์.
df.drop('์ด์ ', axis=1, inplace=True)
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 ๊ฐ์ ์ด ์ด๋ฆ์ผ๋ก ์คํดํด์ ์ค๋ฅ ๋ฐ์ |
df.drop(0, axis=0)
์ธ๋ฑ์ค(index)?
ํ(row)์ ๊ตฌ๋ณํ๋ ๋ฒํธ๋ ์ด๋ฆ!
Pandas์์๋ ๋ชจ๋ ํ๋ง๋ค ๊ณ ์ ํ "์ด๋ฆํ"๊ฐ ์์.
์ด ์ด๋ฆํ๊ฐ ๋ฐ๋ก ์ธ๋ฑ์ค, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ด๋ฆ์ด ๋ฐ๋ก "๋ผ๋ฒจ(label)"
์ฆ "์ธ๋ฑ์ค" = "๋ผ๋ฒจ"
| ์ธ๋ฑ์ค ์ข ๋ฅ | ์์ | ์ค๋ช |
|---|---|---|
| ๊ธฐ๋ณธ ์ธ๋ฑ์ค | 0, 1, 2, 3... | ์ซ์๋ก ์๋ ์์ฑ๋๋ ์ธ๋ฑ์ค |
| ๋ผ๋ฒจ ์ธ๋ฑ์ค | '์ฒ ์', '์ํฌ' ๋ฑ | ์ง์ ์ง์ ํ ๋ฌธ์์ด ๋ฑ์ ์ธ๋ฑ์ค |
df.head() # ์์์ 5ํ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ
df.tail() # ๋ค์์ 5ํ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ
df.info() # ์ ์ฒด ๋ฐ์ดํฐ ๊ตฌ์กฐ, ๊ฒฐ์ธก์น, ํ์
ํ์ธ
df.describe() # ์ซ์ ๋ฐ์ดํฐ ์์ฝ ํต๊ณ (ํ๊ท , ํ์คํธ์ฐจ ๋ฑ)
df.isna() # ๊ฒฐ์ธก์น ์ฌ๋ถ๋ฅผ True/False๋ก ๋ณด์ฌ์ค
df.isna().sum() # ์ด๋ง๋ค ๊ฒฐ์ธก์น ๊ฐ์ ํ์ธ
df.isnull() # ๊ฒฐ์ธก์น ์ฌ๋ถ๋ฅผ True/False๋ก ๋ณด์ฌ์ค
df.isnull().sum() # ์ด๋ง๋ค ๊ฒฐ์ธก์น ๊ฐ์ ํ์ธ
df['๊ตญ์ด'].fillna(0) # ๊ตญ์ด ๊ฒฐ์ธก์น๋ฅผ 0์ผ๋ก ์ฑ์
df['์ํ'].fillna(df['์ํ'].mean()) # ์ํ ๊ฒฐ์ธก์น๋ฅผ ํ๊ท ์ผ๋ก ์ฑ์
์ค์ ๋ฐ์ํ๋ ค๋ฉด inplace=True๋ df = df.fillna(...) ํ์ ์ฌ์ฉ
df.dropna() # ๊ฒฐ์ธก์น๊ฐ ์๋ ํ ์ ๊ฑฐ
df.dropna(axis=1) # ๊ฒฐ์ธก์น๊ฐ ์๋ ์ด ์ ๊ฑฐ
axis=0 -> defult
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)