본문 바로가기

Language/파이썬

[Python] pandas

반응형

판다스는 파이썬에서 데이터 처리를 위해 사용하는 라이브러리이다. 일반적으로 행과 열로 구성된 2차원 데이터를 다룬다.

DataFrame은 여러 개의 행과 열로 이루어진 2차원 데이터를 담는 데이터 구조체이다.

데이터셋은 kaggle의 Titanic - Machine Learning from Disaster의 데이터셋 중 train.csv 파일을 사용했다.

import pandas as pd

pandas 모듈을 pd라는 이름으로 가져온다.

df = pd.read_csv("train.csv")

train.csv 파일을 읽어 Dataframe으로 로딩한다.

df.head()

https://i.imgur.com/dWCa4wq.png

데이터의 일부를 직접 확인할 수 있다.

df.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

df.info()를 호출하면 각 칼럼의 타입, null 데이터의 수 등 다양한 정보를 확인할 수 있다.

df.describe()

https://i.imgur.com/GkCfqZ2.png

df.describe() 를 호출하면 Dataframe의 대략적인 데이터 분포를 확인할 수 있다.

df['Pclass'].value_counts()
3    491
1    216
2    184
Name: Pclass, dtype: int64

value_counts는 특정 칼럼이 어떤 분포로 구성되어있는지 확인하기 위해 사용된다. 위 코드에서 Pclass에 대해 value_counts() 함수를 호출했을 때, 3이 491개, 1이 216개, 2가 184개 있다는 것을 알 수 있다. 수가 많은 항목부터 정렬되어 값이 출력된다.

value_counts() 메서드는 null값을 제외하여 데이터를 처리한다.

df['Embarked'].value_counts(dropna=False)
S      644
C      168
Q       77
NaN      2
Name: Embarked, dtype: int64

Embarked 칼럼에는2개의 null 데이터가 존재한다. 이 때 value_counts의 인자로 dropna를 False로 전달하면 null 데이터에 대한 결과도 포함되어 출력한다.

반응형

'Language > 파이썬' 카테고리의 다른 글

[Python] Dependency Injector (1)  (0) 2023.02.25
[Python] ensure_future  (0) 2021.10.23
[Python] Queue  (0) 2021.03.05
[Python] GIL  (0) 2021.03.04
[Python] Flask  (0) 2021.01.27