์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- iloc
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- ๋ฐ์ดํฐ๋ถ์
- Python
- ์ฃผ์ฑ๋ถ๋ถ์
- ๋น ๋ฐ์ดํฐ
- numpy
- DBSCAN
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- ํ ์คํธ๋ถ์
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- ๋์ํ๋ณธ
- ํฌ๋กค๋ง
- LDA
- dataframe
- PCA
- ํ์ด์ฌ
- ๊ตฐ์งํ
- t-test
- ์ค๋ฒ์ํ๋ง
- ์๋ํด๋ผ์ฐ๋
- ADsP
- pandas
- ADP
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- datascience
- ๋ ๋ฆฝํ๋ณธ
- ์ธ๋์ํ๋ง
- Lambda
- opencv
Data Science LAB
[Python] loc/iloc ์ฐจ์ด์ ๋ณธ๋ฌธ
Pandas๋ฅผ ์ด์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ ํํ ๋, iloc๊ณผ loc์ ์์ฃผ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ, ๊ฐ๋ ํท๊ฐ๋ ค์ ๋ ์ฐ์ฐ์์ ๋ํด ํฌ์คํ ํด๋ณด๋ ค๊ณ ํ๋ค!
์์น ๊ธฐ๋ฐ ์ธ๋ฑ์ฑ
์์น ๊ธฐ๋ฐ ์ธ๋ฑ์ฑ์ 0์ ์ถ๋ฐ์ ์ผ๋ก ํ๋ ๊ฐ๋ก, ์ธ๋ก์ถ ์ขํ ๊ธฐ๋ฐ์ ํ๊ณผ ์ด์์น๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ๋ค. ๋ฐ๋ผ์ ํ, ์ด ๊ฐ์ผ๋ก ์ ์๊ฐ ์ ๋ ฅ๋๋ฉฐ, iloc[] ์ฐ์ฐ์๋ ์์น ๊ธฐ๋ฐ ์ธ๋ฑ์ฑ์ ํด๋นํ๋ค.
iloc[]์ ํ๊ณผ ์ด ๊ฐ์ผ๋ก integer ๋๋ integerํ์ ์ฌ๋ผ์ด์ฑ, ํฌ์ ๋ฆฌ์คํธ ๊ฐ์ ์ ๋ ฅํด์ค์ผ ํ๋ค.
๋จผ์ , ์ฐ์ต์ฉ์ผ๋ก ๋ฐ์ดํฐํ๋ ์์ ํ๋ ์์ฑํด์ค๋๋ค.
import pandas as pd
data = {'Name' : ['Red','Blue','Yellow','Green'],
'Year' : [2020,2021,2022,2023],
'Gender' : ['Male','Female','Male','Male']}
df = pd.DataFrame(data,index=['one','two','three','four'])
df
๋ฐ์ดํฐ ํ๋ ์์ ์ธ๋ฑ์ฑ์ ๋ฌธ์๋ก ์ง์ ํด์ฃผ์๋ค.
df.iloc[0,0]
[0,0]์ ์ ๋ ฅํ๋ฉด ๋ฐ์ดํฐํ๋ ์์ ์ฒซ ๋ฒ์งธ ํ, ์ฒซ ๋ฒ์งธ ์ด์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ค.
df.iloc[0,'Name']
์ ์๊ฐ ์๋ ๋ช ์นญ์ ์ ๋ ฅํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
df_reset = df.reset_index()
df_reset = df_reset.rename(columns={'index':'old_index'})
df_reset
๋จผ์ , ๊ธฐ์กด์ ์ธ๋ฑ์ค๋ฅผ ๋ฆฌ์ ํ๊ณ , ์ง์ ํ ์ธ๋ฑ์ค๋ ํ๋์ ์ปฌ๋ผ์ผ๋ก ์์ฑํ๋ค.
df.iloc[0,1]
์ฒซ ๋ฒ์งธํ(0)์ ๋๋ฒ ์งธ ์ด(1)์ ์์น์ ์๋ ๊ฐ์ธ 2020์ ๋ฐํํ๋ค.
๋ช ์นญ ๊ธฐ๋ฐ ์ธ๋ฑ์ฑ
๋ช ์นญ (Label) ๊ธฐ๋ฐ ์ธ๋ฑ์ฑ์ ์ปฌ๋ผ์ ๋ช ์นญ์ ๊ธฐ๋ฐ์ผ๋ก ์์น๋ฅผ ์ง์ ํ๋ ๋ฐฉ์์ด๋ค. ๋ช ์นญ์ผ๋ก ์ด์ ์์น๋ฅผ ์ง์ ํ๋ ๋ฐฉ์์ผ๋ก, loc[] ์ฐ์ฐ์๋ ๋ช ์นญ ๊ธฐ๋ฐ ์ธ๋ฑ์ฑ์ ํด๋นํ๋ค.
df.loc['one','Name']
์ธ๋ฑ์ค ๊ฐ์ด 'one'์ธ ํ์ ์ปฌ๋ผ๋ช ์ด 'Name'์ธ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ค.
df.loc[1,'Name']
์ธ๋ฑ์ค ๊ฐ์ 1์ ๋ฃ์ผ๋ฉด, ์ธ๋ฑ์ค ๊ฐ์ด 1์ธ ํ์ด ์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐํ๋๋ค.
df_reset = df.reset_index()
df_reset = df_reset.rename(columns={'index':'old_index'})
df_reset
์ธ๋ฑ์ค ๊ฐ์ ์ค์ ํ์ง ์์์ ๋์ฒ๋ผ ๋ฆฌ์ ์ ํด์ค ๋ค(0๋ถํฐ ์์ํ๋ ์ซ์),
df_reset.loc[0,'Name']
์ธ๋ฑ์ค ๊ฐ์ 0์ ์ ๋ ฅํด์ฃผ๋ฉด ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋๋ค.
df_reset.loc[0:1,'Name']
loc[0:1]์ ์ ์ฉํ๋ฉด, 2๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋ฐํ๋๋ค.
df_reset.iloc[0:1,1]
iloc[0:1]์ ์ ์ฉํ๋ฉด, 1๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๋ฐํ๋๋ค.
๐์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ผ์ด์ฑ์ '์์๊ฐ:์ข ๋ฃ๊ฐ'์ผ๋ก ์ ์ฉํ๋ฉด, ์์๊ฐ~์ข ๋ฃ ๊ฐ-1๊น์ง์ ๋ฒ์๋ฅผ ์๋ฏธํ์ง๋ง, loc[]์ ์ฌ๋ผ์ด์ฑ ๊ธฐํธ๋ฅผ ์ ์ฉํ๋ฉด ์ข ๋ฃ๊ฐ๊น์ง ํฌํจํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
'๐ Python > Pandas' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] df.columns.difference (0) | 2022.03.27 |
---|---|
[Python] ๋ฐ์ดํฐ ๊ฒฐ์ธก์น ์ฒ๋ฆฌ (0) | 2022.03.11 |
[Python] Apply lambda ์ ์ฉ (0) | 2022.03.10 |
[Python] ๋ฆฌ์คํธ, ๋์ ๋๋ฆฌ, array ๋ฐ์ดํฐํ๋ ์์ผ๋ก ๋ณํ (0) | 2022.02.16 |
[Python] ํ๋ค์ค(Pandas)๊ธฐ์ด (0) | 2022.02.15 |