반응형
Pandas 데이터 추출, 활용 하기 : loc, iloc 활용 [슬라이싱]
슬라이싱을 이용하여 iloc와 loc를 활용한 방법입니다. 실무에서 매우 유용하게 사용할 수 있는 내용입니다. 모든 행(:)의 데이터에 대해 country와 continent열을 추출하는 방법입니다. 이때 loc와 iloc속성에 전달하는 열 지정 값은 반드시 형식에 맞게 전달해야 합니다. loc는 열명, iloc는 열 위치를 숫자로 지정해야 합니다.
import pandas as pd
# print("\n-- \n", "")
pandas_DF = pd.read_csv(r'C:\Users\HANA\PycharmProjects\HANATOUR\Pandas\doit_pandas-master\data\gapminder.tsv', sep='\t')
print("\n-- pandas_DF.columns\n", pandas_DF.columns)
subset_loc = pandas_DF.loc[:, ['country','continent']]
print("\n-- subset loc\n", subset_loc)
subset_iloc = pandas_DF.iloc[:, [1,2,-1]]
print("\n-- subset iloc\n", subset_iloc)
subset_iloc_2 = pandas_DF.iloc[:, :3]
print("\n-- subset iloc #2\n", subset_iloc_2)
subset_iloc_3 = pandas_DF.iloc[:, 0:6:2]
print("\n-- subset iloc #3\n", subset_iloc_3)
subset_iloc_4 = pandas_DF.iloc[[0, 99, 999], 0:6:2]
print("\n-- subset iloc #4\n", subset_iloc_4)
iloc[:, [1,2,-1]]의 경우, 모든 값 중 1번째, 2번째 그리고 마지막 컬럼을 나타내게 됩니다.
iloc[:, :3]의 경우, 모든 값 중 0번째부터 ~ 2번째 컬럼을 나타내게 됩니다.
iloc[:, 0:6:2]의 경우, 모든 값 중 0번째, 2번째, 4번째 컬럼을 나타내게 됩니다.
iloc[[0, 99, 999], 0:6:2]의 0, 99, 999번째 열중 0번째, 2번째, 4번째 컬럼을 나타내게 됩니다.
-- pandas_DF.columns
Index(['country', 'continent', 'year', 'lifeExp', 'pop', 'gdpPercap'], dtype='object')
-- subset loc
country continent
0 Afghanistan Asia
1 Afghanistan Asia
2 Afghanistan Asia
3 Afghanistan Asia
4 Afghanistan Asia
... ... ...
1699 Zimbabwe Africa
1700 Zimbabwe Africa
1701 Zimbabwe Africa
1702 Zimbabwe Africa
1703 Zimbabwe Africa
[1704 rows x 2 columns]
-- subset iloc
continent year gdpPercap
0 Asia 1952 779.445314
1 Asia 1957 820.853030
2 Asia 1962 853.100710
3 Asia 1967 836.197138
4 Asia 1972 739.981106
... ... ... ...
1699 Africa 1987 706.157306
1700 Africa 1992 693.420786
1701 Africa 1997 792.449960
1702 Africa 2002 672.038623
1703 Africa 2007 469.709298
[1704 rows x 3 columns]
-- subset iloc #2
country continent year
0 Afghanistan Asia 1952
1 Afghanistan Asia 1957
2 Afghanistan Asia 1962
3 Afghanistan Asia 1967
4 Afghanistan Asia 1972
... ... ... ...
1699 Zimbabwe Africa 1987
1700 Zimbabwe Africa 1992
1701 Zimbabwe Africa 1997
1702 Zimbabwe Africa 2002
1703 Zimbabwe Africa 2007
[1704 rows x 3 columns]
-- subset iloc #3
country year pop
0 Afghanistan 1952 8425333
1 Afghanistan 1957 9240934
2 Afghanistan 1962 10267083
3 Afghanistan 1967 11537966
4 Afghanistan 1972 13079460
... ... ... ...
1699 Zimbabwe 1987 9216418
1700 Zimbabwe 1992 10704340
1701 Zimbabwe 1997 11404948
1702 Zimbabwe 2002 11926563
1703 Zimbabwe 2007 12311143
[1704 rows x 3 columns]
-- subset iloc #4
country year pop
0 Afghanistan 1952 8425333
99 Bangladesh 1967 62821884
999 Mongolia 1967 1149500
반응형
'Pandas' 카테고리의 다른 글
Pandas Sidetable: 판다스 똑똑하게 사용하기 - Freq, Counts, Missing, Subtotal (0) | 2021.04.16 |
---|---|
데이타 결측치(누락값, 결측값) 처리하기 : fillna (ffill, bfill), dropna, isnull (0) | 2020.12.07 |
Pandas에서 시간, 날짜 다루기 - to_datetime만 잘 다루면 끝! (0) | 2020.11.28 |
Pandas, read_excel()을 이용한 데이타 읽은 후 K-Means에 적용하기: 실습 (0) | 2020.11.27 |
Pandas 기초 통계를 위한 groupby 응용 - nunique()와 matplot로 그래프 간단하게 그리기 (0) | 2020.11.14 |
[TIP] Pycharm, Run Window에서 결과 값 전체 보이게 하기 (0) | 2020.11.01 |
Pandas 데이터 추출, 활용 하기 : loc, iloc 활용 [행단위] (0) | 2020.10.09 |
Pandas(판다스)로 데이터 핸들링 : 기본 : info(), describe(), value_counts(), head() (1) | 2020.10.04 |