728x90
DataFrame
- 2차원의 테이블 구조 (행, 열로 구성)
- 각각의 열이 서로 다른 데이터 타입을 가질 수 있음 (예) col1은 int형태이고 col2는 Yes/No의 문자 형태)
- 같은 열 내에서도 원소들이 다른 타입을 가질 수 있음 (df.info()로 확인하는 경우 섞인 열은 메모리가 큰 자료형의 타입으로 표시됨)
- series들이 합쳐진 형태
Series
- 1차원의 데이터 구조 (하나으 열로 구성)
- 단일 데이터 타입만 가능하다
- 0~ 인덱스를 가지며 사용자 지정 인덱스 구성 가능
Create
Data Frame 만들기
1) 열의 이름만 지정
열의 이름('col1','col2')을 지정하고 이를 키로 하고 벨류 위치에는 해당 열의 데이터를 리스트 형식으로 표현한다. 행의 이름은 따로 정해주지 않아 기본 정수 인덱스(0~)를 할당한다.
import pandas as pd
df = pd.DataFrame({'col1':[data1], 'col2':[data2]})
2) 행과 열 이름을 지정
1) 과 같은 방법이지만 pd.DataFrame()의 index 인자에 원하는 행의 이름을 입력한다.
import pandas as pd
df = pd.DataFrame({'col1': [data], 'col2': [data]}, index=[row_names])
** 딕셔너리의 value에 해당되는 데이터의 길이는 모두 같아야한다(index도 같아야함). 안그러면 value error 발생
Series 만들기
import pandas as pd
series = pd.Series([data], index = {index})
series
** col name없음 하지만 series이름(name = 'series_name') 설정 가능, 또한 index를 지정하면 행의 이름 변경 가능**
Read
- 기존의 파일을 불러오는 경우 사용
- 다양한 형태의 파일을 불러올 수 있음(csv, excel, table, json 등등)
1) csv 불러오기
import pandas as pd
df = pd.read_csv('파일경로')
csv파일은 자동으로 인덱스가 부여된다. 위의 코드로 파일을 불러올 경우 df의 첫 열에 index를 가리키는 열이 포함되기 때문에 자동으로 부여된 인덱스를 데이터 프레임에서도 인덱스 열로 지정하여 사용할 수 있다.
index열을 지정 (index_col = 0)
df = pd.read_csv('파일경로', index_col=0)
2) shape을 확인 -> (행, 열) 의 크기를 확인한다
df.shape
# output = (rows, cols)
3) df의 일부 확인
df.head() # default -> 맨 위 5개의 행을 보여준다
# df.head(n) -> 맨 위 n개의 행을 보여준다
# df.tail() -> 끝 5개
# df.tail(n) -> 끝 n개
Write
데이터 프레임 --> 파일로 저장 (여기에서는 csv형태로 다른 파일로도 저장 가능)
df.to_csv('파일경로/file_name.csv')
728x90
반응형
'Python > Pandas' 카테고리의 다른 글
[kaggle learn pandas] Data Types and Missing Values (0) | 2024.05.30 |
---|---|
[kaggle learn pandas] Grouping and Sorting (0) | 2024.05.30 |
[kaggle learn pandas] Summary Functions and Maps (0) | 2024.05.27 |
[kaggle learn pandas] Indexing, Selecting & Assigning (0) | 2024.05.27 |
pandas 자주 사용하는 기능(물론 내가) (0) | 2023.11.29 |