Coding/TIL & 배운것들

(머신러닝 2-1)데이터 불러오기

코딩짜는 머글 2024. 10. 18. 10:55

기본적인 데이터를 csv 파일을 불러오는 방법은↓

import pandas as pd

# CSV 파일 불러오기
df = pd.read_csv('data.csv')

# 데이터 프레임의 첫 5행 출력
print(df.head())

 

엑셀 파일은 

import pandas as pd

# 엑셀 파일 불러오기
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 데이터 프레임의 첫 5행 출력
print(df.head())

 

Kaggle 이란?

데이터 과학 및 머신러닝 경진대회 플랫폼이다. 모델을 개발하는데 필요한 데이터셋과 도구를 무료로 제공한다. 또한 커뮤니티에서는 데이터 과학자와 머신러닝 엔지니어들이 지식을 공유하고 협업하는 장소로 쓰이고 있다. 커널이라는 웹기반의 코드 실행환경을 제공하고, 이는 쥬피터 노트북과 유사한 기능을 제공한다.

 

 

kaggle의 데이터셋을 사용하려면 ?

페이지로 들어가 다운로드해서 쓰는 방법도 있지만, 지금알려주는 이런 방법도 있다 알아 두면 좋을것 같다.

 

먼저 캐글 API를 설치 

pip install kaggle

 

캐글 계정에서 API키를 생성하고 로컬 환경에 저장한다. (API 키는 ~/.kaggle/kaggle.json 파일에 저장됩니다.)

 

데이터셋 다운로드

kaggle datasets download -d <dataset-identifier>

 

 

그리고 받은 데이터셋을 압축 해제하면 완료이다. 불러오는 방법은 위에 적힌 그대로이다.

 

 

불러온 데이터프레임의 기본 정보를 확인하는 방법

# 데이터 프레임의 크기 (행, 열) 확인
print(df.shape)

#출력
(891, 12)  # 행과 열의 수가 나온다.

 

# 데이터 프레임의 컬럼명 확인
print(df.columns)

#출력
Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
       'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],
      dtype='object')

*주의 : columns는 함수가 아니다. 기본 정보는 함수로 제공되지 않는다!

# 데이터 프레임의 데이터 타입 확인
print(df.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
# 각 열 별로 데이터 타입이 나오게 된다.

 

# 데이터 프레임의 요약 통계량 확인
print(df.describe())

#출력
	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

# 각각 순서대로 총갯수, 평균, 표준편차, 최소값, 4분위수를 기준으로 25%,50%,75%, 최대값이다.

 

# 데이터 프레임의 정보 확인 (null 값, 데이터 타입 등)
print(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