앞장에선 데이터의 크기, 자료형 파악을 해보았다.
이번엔 특정 행/열만 추출하여 보고싶은 데이터만 볼 수 있게 정리하는 방법을 알아보려 한다.
- 사용할 코드
df['열1'] # 열 1개만 보고 싶을 때
df[['열1', '열2' ]] # 열 여러개를 한번에 보고 싶을때
df.loc[1] # 전체 데이터의 '인덱스 순서'에서 1번 행을 보고 싶을 때
df.iloc[1] # 전체 데이터의 '정렬된 순서'에서 1번 행을 보고 싶을 때
## 슬라이싱 ##
df.loc[행:열:순서, 보고싶은 행('str' 타입만)] # loc을 사용할 경우
df.iloc[행:열:순서, 보고싶은 행('int' 타입만)] # iloc을 사용할 경우
1. df 불러오기
2. df['열1']
3. df[['열1', '열2']
3. loc, iloc 차이 비교
기존 dataframe이 인덱스 순서로 정렬돼있기때문에 loc과 iloc이 똑같은 결과값을 보여주고 있다.
iloc과 loc 의 차이를 명확히 알아보기 위해 인덱스를 'year' 순서로 정렬하여 'df_sort'라는 dataframe을 만들어줬다.
'year'순서로 정렬되어 index가 섞여있는것을 확인 할 수 있다.
이 상태에서 loc 과 iloc을 사용하면 각각 다른 데이터를 출력해주는 것을 알 수 있다.
여기서 loc과 iloc 뒤에 [1, 3, 5]를 추가해 1번째, 3번째 , 5번째 행을 불러오게 해줬다.
loc은 데이터의 인덱스를 통해 값을 불러오기 때문에 데이터 순서가 바뀌어있어도 index 순서대로 값을 보여준다.
반면 iloc은 데이터가 정렬된 순서에서 사용자가 지정한 값을 불러오기 때문에 순서가 바뀌어있으면 다른 값을 보여준다.
3-1. loc을 활용하여 원하는 열만 불러내기 : df.loc[행:열:순서, 보고싶은 행('str' 타입만)]
df.loc[1:10:3, 'year']을 입력해 1번부터 10번째 행까지, 3칸씩 띄워서 불러내며, 'year'에 있는 값만 출력하도록 만들었다.
*loc의 경우는 원하는 열을 보고 싶을때 무조건 str 타입으로 열의 이름을 입력해주지 않으면 값을 출력해주지 않는다.
year 앞에 있는 열의 정보까지 전부 확인하고 싶다면 'year' 앞에 : 를 추가해주면 0번째 열부터 year까지의 정보를 함께 확인할 수 있다.
3-1. iloc을 활용하여 원하는 열만 불러내기 : df.loc[행:열:순서, 보고싶은 행('int' 타입만)]
이번엔 iloc을 활용하여 위의 loc과 동일하게 'year'값을 불러봤다. 'year'이 5번째 열이기 때문에 5를 입력해주었다.
*iloc의 경우는 원하는 열을 보고 싶을때 무조건 int 타입으로 열의 숫자를 입력해주지 않으면 값을 출력해주지 않는다.
loc에서와 마찬가지로 year 앞에 있는 열의 정보까지 전부 확인하고 싶다면 'year'의 열 번호를 뜻하는 5 앞에 : 를 추가해주면 0번째 열부터 year까지의 정보를 함께 확인할 수 있다.
'코딩 > 판다스(pandas)' 카테고리의 다른 글
[Pandas] 1. 데이터 불러오기, 확인하기 (0) | 2022.02.25 |
---|