외부 데이터 읽기
판다스는 CSV, txt, Excel, HTML, JSON 등 다양한 데이터 파일을 읽고 데이터프레임을 생성할 수 있습니다.
# 예시 1: csv 파일 읽기
data = pd.read_csv(r"C:\Users\user\OneDrive\바탕화면\Hyowon\Dataset\titanic\train.csv")
read_csv(file_path, sep='')
데이터를 나누는 기준은 sep로 인자를 따로 넘겨줄 수 있습니다.
read_csv 메서드는 특히 텍스트 파일을 다룰 때 유용합니다.
이렇게 읽어온 외부 데이터는 판다스에서 주어진 다양한 메서드를 통해 그 형태와 특성을 파악할 수 있습니다.
다음은 유용한 메서드들과 그에 대한 설명 및 코드입니다!
data.head() , data.tail()
data.head()는 불러온 데이터의 상위 5개를 출력합니다.
data.tail()은 반대로 하위 5개를 출력합니다.
인자로 출력하고 싶은 데이터의 개수를 넘겨줄 수 있습니다.
data.head(5)
data.tail(10)
data.shape
data.shape는 DataFrame의 행과 열 크기를 알아보는 가장 좋은 방법입니다.
DataFrame 객체의 shape 변수는 그것의 행과 열을 튜플 형태로 반환합니다.
data.shape # (row, col)
data.info()
DataFrame은 칼럼의 타입, Null 데이터의 개수, 데이터 분포도 등의 메타 데이터 등의 조회가 가능합니다.
info() 메서드는 총 데이터 건수, 칼럼 별 데이터 타입, Null 건수를 알 수 있습니다.
data.info()
[OUTPUT]
<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.describe()
describe()메서드는 칼럼 별 숫자형 데이터(int, float)의 n-percentile 분포도, 평균값, 최댓값, 최솟값을 나타냅니다.
데이터의 분포를 아는 것은 머신러닝 알고리즘의 성능을 향상하는 아주 중요한 요소입니다. 물론 이 메서드로 정확한 분포도를 아는 것은 무리지만, 개략적인 수준의 분포도를 확인할 수 있어 매우 유용합니다.
data.describe()
[OUTPUT]
PassengerId Survived Pclass Age SibSp Parch Fare
count 891.000000 891.000000 891.000000 714.000000 891.000000 891.000000 891.000000
mean 446.000000 0.383838 2.308642 29.699118 0.523008 0.381594 32.204208
std 257.353842 0.486592 0.836071 14.526497 1.102743 0.806057 49.693429
min 1.000000 0.000000 1.000000 0.420000 0.000000 0.000000 0.000000
25% 223.500000 0.000000 2.000000 20.125000 0.000000 0.000000 7.910400
50% 446.000000 0.000000 3.000000 28.000000 0.000000 0.000000 14.454200
75% 668.500000 1.000000 3.000000 38.000000 1.000000 0.000000 31.000000
max 891.000000 1.000000 3.000000 80.000000 8.000000 6.000000 512.329200
-
count : Not Null인 데이터 건수
-
mean : 전체 평균
-
std : 표준 편차
-
min : 최솟값
-
25% : 25-percentile
-
50% : 50-percentile
-
75% : 75-percentile
-
max : 최댓값
data['COL_NAME'].value_counts()
해당 칼럼의 분포가 어떻게 되는지 개수를 세어 주는 메서드입니다.
다중 분류(Classification) 문제를 파악할 때 유용합니다! 다른 말로는, class가 있을 때 의미 있는 메서드입니다.
data['Pclass'].value_counts()
[OUTPUT]
3 491
1 216
2 184
Name: Pclass, dtype: int64
Pclass의 각 요소는 1,2,3 중 하나로 태깅되어 있습니다. value_counts() 메서드는 각 변수 값의 개수를 세어줍니다.
알아두면 굉장히 편한 메서드입니다!
'Data handling > Pandas' 카테고리의 다른 글
[Pandas] DataFrame의 수정과 삭제 (0) | 2020.06.12 |
---|---|
[Pandas] Series, DataFrame의 이해와 생성 (0) | 2020.06.10 |