방대한 양의 데이터를 분석할 때 필요한 데이터만 추출하기 위해선 별도의 인덱싱이 필요하다. 필수적인 과정은 아니지만 데이터 시각화를 진행할 때 특정 컬럼들을 대상으로 시각화를 진행하는 경우가 빈번하기 때문에 알아둬야할 과정이다.
df = pd.read_csv('data/02_seoul_accident_clean.csv')
df.info()
사용한 자료는 공공데이터 포털에서 교통사고 관련 데이터를 취합한 자료를 사용하였으며, 이윤 추구의 목적이 있는 데이터가 아님을 밝힌다.
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 74485 entries, 0 to 74484
Data columns (total 29 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 사고번호 74485 non-null object
1 사고년도 74485 non-null int64
2 사고월 74485 non-null int64
3 사고일 74485 non-null int64
4 사고시각 74485 non-null int64
5 사고요일 74485 non-null int64
6 시군구_대범주 74485 non-null object
7 시군구_소범주 74485 non-null object
8 사고내용 74485 non-null object
9 사망자수 74485 non-null int64
10 중상자수 74485 non-null int64
11 경상자수 74485 non-null int64
12 부상신고자수 74485 non-null int64
13 사고유형_대범주 74485 non-null object
14 사고유형_소범주 74485 non-null object
15 법규위반 74485 non-null object
16 노면상태_대범주 74485 non-null object
17 노면상태_소범주 74485 non-null object
18 기상상태 73575 non-null object
19 도로형태_대범주 74485 non-null object
...
27 피해운전자연령 72049 non-null float64
28 피해운전자상해정도 72225 non-null object
dtypes: float64(2), int64(9), object(18)
memory usage: 16.5+ MB
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
리스트를 사용한 열 선택
조회하고자 하는 컬럼의 개수가 적을 때, 타겟 컬럼 명을 하드코딩해 목표 데이터를 직관적으로 볼 수 있다.
col = ['사고유형_대범주','사고유형_소범주']
df[col]
사고유형_대범주 사고유형_소범주
0 차대사람 차대사람 - 횡단중
1 차대차 차대차 - 추돌
2 차대차 차대차 - 기타
3 차대차 차대차 - 측면충돌
4 차대사람 차대사람 - 횡단중
... ... ...
74480 차대차 차대차 - 기타
74481 차대차 차대차 - 정면충돌
74482 차대차 차대차 - 추돌
74483 차대차 차대차 - 측면충돌
74484 차대차 차대차 - 측면충돌
74485 rows × 2 columns
iloc를 사용한 열 선택
정수로 행과 열을 선택해 인덱스 슬라이싱이 가능하다.
# 처음부터 두번째 행까지
df.iloc[:3]
# 처음부터 두번째 행까지, 2,8,9번째 열만
df.iloc[:3, [2,8,9]]
# 24번째열부터 끝까지. 모든 행.
df.iloc[:, 24:]
# 처음부터 두개씩 건너띄면서 10번째 행까지. 처음부터 2개열
df.iloc[:10:2, :2]
loc를 사용한 열 선택
Label로 행과 열을 선택해 인덱스 슬라이싱이 가능하다. iloc와 loc의 차이점이라면 iloc는 오로지 정수 값으로만 인덱스를 지정해서 슬라이싱이 가능하지만, loc는 특정 컬럼명으로 인덱스 지정이 가능하고 조건절까지도 사용할 수 있다.
# 0번, 2번 인덱스 선택, 모든 컬럼 선택
row = [0,2]
df.loc[row]
# 모든 인덱스 선택, 기상상태, 법규위반 컬럼 선택
col = ['기상상태','법규위반']
df.loc[:, col]
# 3번 인덱스까지 선택, 컬럼은 col로 선택
df.loc[:3, col]
'빅데이터분석👨💻' 카테고리의 다른 글
[Python] 빅데이터 분석 기초 - 객체 병합 함수 (concat, join, merge) (0) | 2023.12.18 |
---|---|
[Python] 빅데이터 분석 기초 - 집계 (Aggregation) (0) | 2023.11.27 |
[Python] 빅데이터 분석 기초 - 필터링 (Filtering) (1) | 2023.11.27 |
[Python] 빅데이터 분석 기초 - 이상치 처리 (Check the Outlier) (0) | 2023.11.24 |
[Python] 빅데이터 분석 기초 - 결측치 처리 (Missing Data Handling) (0) | 2023.11.24 |