๐Ÿ† ์ž๊ฒฉ์ฆ, ์–ดํ•™

[๋น…๋ฐ์ดํ„ฐ ๋ถ„์„๊ธฐ์‚ฌ] ์‹ค๊ธฐ 3ํšŒ - 1์œ ํ˜• reset_index, iloc์™€ loc ์ฐจ์ด

๋ฐ์ดํ„ฐํŒ์Šค 2024. 8. 19. 16:49

 

๋ฌธ์ œ

```{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 ์˜ˆ์ œ๋„ ์ฒจ๋ถ€ํ•œ๋‹ค

 

 

 

 

๋Œ“๊ธ€์ˆ˜0