그동안 데이터 분석을 공부하면서 사용했던 pandas 기능들을 별도로 노션에 정리해두곤 했다.
하지만 정리한 내용이 주로 통계나 머신러닝 과제를 중심으로 정리되어 있어
pandas 기능만 별도로 정리해두는 것이 앞으로 pandas를 사용하는 데에 더 도움이 될 것 같다는 생각이 들었다.
일단은 오늘 복습하면서 사용했던/기억나는 pandas 기능들을 타이타닉 데이터를 활용해 정리해보겠다.
데이터프레임 정보 확인하기
분석을 위해 데이터를 불러오거나 데이터프레임을 만들면, 본격적인 분석에 앞서 데이터프레임의 모양이나 칼럼의 특성 등 기본적인 정보들을 확인하는 작업이 필요하다.
1) head() / tail()
먼저, 데이터프레임을 만들면 head를 통해 데이터프레임의 기본적인 모양들을 확인할 수 있다. 불러온 데이터의 모양을 시각적인 형태로 직관적으로 확인이 가능하기에, 데이터프레임을 불러왔을 때 가장 먼저 하는 작업 중 하나이다.
사용 방법은 간단하다. dataframe을 저장한 변수의 이름 뒤에 '.head()'를 입력하면 된다. 기본값은 5이며, 별도의 파라미터를 지정하지 않으면 상위 다섯 개의 인덱스가 출력된다. () 안에 숫자를 입력하면, 입력한 숫자 만큼의 인덱스가 출력된다.
# 타이타닉 데이터 불러오기
df_train = pd.read_csv('train.csv')
df_train.head()
tail은 head와 반대로 밑에서부터 데이터프레임이 출력된다.
2) index / columns
index와 columns는 데이터프레임의 index와 columns 데이터를 출력한다.
df_train.index
# RangeIndex(start=0, stop=891, step=1)
df_train.columns
"""
Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],
dtype='object')
"""
이를 활용해서 데이터프레임의 행/열의 정보를 변환할 수도 있다.
df_train.columns = list('abcdefghijkl')
df_train.head()
3) shape
데이터프레임의 행과 열의 개수를 튜플로 나타내준다.
df_train.shape
# >> (892, 12)
df_train은 892개의 row와 12개의 feature로 구성되어 있음을 확인할 수 있다.
4) dtypes
각 열의 데이터타입을 출력한다.
df_train.dtypes
"""
>>>
PassengerId int64
Survived int64
Pclass int64
Name object
Sex object
Age float64
SibSp int64
Parch int64
Ticket object
Fare float64
Cabin object
Embarked object
dtype: object
"""
※ pandas의 데이터 타입
: int64(정수형), object(문자열 혹은 복합형), float64(실수형), datetime64(시간), bool(부울형), category(카테고리형)
5) describe()
describe() 메소드는 데이터프레임의 기본적인 통계량을 제공해준다. 기본적으로 특정 feature의 개수(count), 평균(mean), 편차(std), 최솟값(min)과 최댓값(max), 그리고 percentile(25%, 50%, 75%)를 알려준다.
df_train.describe()
별도의 옵션을 지정하지 않으면, 위처럼 numeric 타입의 특성들의 정보만 출력된다.
다음과 같은 파라미터를 활용해서 출력되는 값을 변경할 수 있다.
percentiles : 출력되는 percentiles 값을 변경. (기본은 25%, 50%, 75%)
예시 : df_train.describe(percentiles=[0.1, 0.3, 0.6, 0.9])
>>> 10%, 30%, 60%, 90%에 해당하는 값이 출력
include : 포함하고자 하는 데이터의 타입을 지정할 수 있다.
- None : 기본값. 숫자형 특성만 포함.
- 'all' : 모두 포함.
- [dtypes'] : 리스트 안에 있는 데이터 형식을 포함.
예시 : df_train.describe(include=['object']
>>> object 타입 특성의 정보를 출력
exclude : include와 반대로 제외하고자 하는 데이터 타입을 지정할 수 있다.
다음과 같이 특정 칼럼을 지정해서 확인할 수도 있다.
df_train['Name'].describe()
6) info()
특성별 데이터타입, 결측값이 아닌 데이터 수, 메모리 사용 등을 출력한다.
df_train.info()
<class 'pandas.core.frame.dataframe'="">
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PassengerId 891 non-null int64
1 Survived 891 non-null int64
2 Pclass 891 non-null int64
3 Name 891 non-null object
4 Sex 891 non-null object
5 Age 714 non-null float64
6 SibSp 891 non-null int64
7 Parch 891 non-null int64
8 Ticket 891 non-null object
9 Fare 891 non-null float64
10 Cabin 204 non-null object
11 Embarked 889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.7+ KB
'Data Analysis' 카테고리의 다른 글
[Pandas] 자주 사용했던 기능들 정리 -3. iloc/loc (0) | 2022.07.16 |
---|---|
[Pandas] 자주 사용했던 기능들 정리 - 2. 결측치 처리 (0) | 2022.07.10 |
[데이터 사이언스] Data Preprocessing(데이터 전처리) & Feature Engineering(특성 공학) (0) | 2022.06.07 |
[python] Pandas 라이브러리를 활용한 데이터 파일 불러오기 (0) | 2022.06.06 |
[데이터 사이언스] EDA (Explanatory Data Analysis) (0) | 2022.06.06 |