[๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ] ์ค๊ธฐ 3ํ - 1์ ํ reset_index, iloc์ loc ์ฐจ์ด
๋ฌธ์
```{admonition} 1-1
**๊ฒฐ์ธก์น๊ฐ ํ๋๋ผ๋ ์กด์ฌํ๋ ํ์ ๊ฒฝ์ฐ ๊ฒฝ์ฐ ํด๋น ํ์ ์ญ์ ํ๋ผ. ๊ทธํ ๋จ์ ๋ฐ์ดํฐ์ ์์ 70%์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ง ๋จ๊ฒจ๋ ํ median_income ์ปฌ๋ผ์ 1๋ถ์์๋ฅผ ๋ฐ์ฌ๋ฆผํ์ฌ ์์ซ์ ์ดํ 2์งธ์๋ฆฌ๊น์ง ๊ตฌํ์ฌ๋ผ**
```
df=df.dropna(axis=0).reset_index(drop=True)
df=df.loc[:upper]
q1=df['median_income'].quantile(0.25)
round(q1,2)
๋ด๊ฐ ํผ ์ฝ๋
df = df.dropna().reset_index(drop=True)
df_filter = df.iloc[:int(len(df)*0.7)]
result = df_filter['median_income'].quantile(0.25).round(2)
print(result)
์ ๋ต ์ฝ๋
๋ต์ ๊ฐ์๋ฐ ๋๋ loc๋ฅผ ์ผ๊ณ , ์ ๋ต์ฝ๋๋ iloc๋ฅผ ์จ์ ๊ณ ๋ฏผํด๋ดค๋๋ฐ
์์ 70๊ฐ๋ฉด์ len(df)*0.7=13269 ๊ฐ๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ค
๊ทผ๋ฐ ์ธ๋ฑ์ค๋ 0๋ฒ๋ถํฐ ์์ํ๋๊น loc[:13269] = 0 ~ 13269๋ก 13270๊ฐ๊ฐ ๋์ด๋ฒ๋ฆฐ๋ค
์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
iloc[:13269]๋ก ํด์ผ 13269 ์ธ๋ฑ์ค๋ ์ ์ธํ๊ณ ๊ทธ ์ ๊น์ง๋๊น 0~13268 ๋ก 13269๊ฐ๊ฐ ๋๋ค
์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
๊ทธ๋ฅ 1๋ถ์์ ๊ฐ์ ์ด์ด ์ข์์ ๋ง์๊ฑฐ์์...
iloc[:n] b์ด์ ๊น์ง 0~n-1 ๊น์ง = n๊ฐ
loc[:n] b ํฌํจํด์ 0~n ๊น์ง = n+1๊ฐ
์ฌ์ง ์ค๋ช ์ ์ ๋ ฅํ์ธ์.
์ค๋ช ์ ๋ง๋ถ์ด๊ธฐ ์ํด, ๋ฐ์ดํฐ๋ง๋ reset_index ์์ ๋ ์ฒจ๋ถํ๋ค