728x90

Python/Pandas 9

[pandas] 대용량 파일 읽기 (chunksize)

5GB 이상의 데이터를 한꺼번에 read_csv()를 사용하여 pandas dataframe으로 읽어들이는데 MemoryError 발생MemoryError: Unable to allocate 512. KiB for an array with shape (65536,) and data type int64 chunksize 파라미터를 사용하여 잘라서 가져온다import pandas as pdchunksize = 10000chunk = pd.read_csv('file_path', chunksize=chunksize) df는 dataframe으로 반환되는것이 아니라 iterable한 객체로 반환되어 for문으로 접근 가능함. 각 chunk는 dataframe형태임 for문 접근 -> 하나의 dataframe으로 ..

Python/Pandas 2024.08.18

[kaggle learn geopandas] Your First Map

사용 데이터 실생활에서 geo data를 활용하는 경우일본에서 지진이 많이 일어나는곳을 지도에 표시특정 종의 동물의 서식지 파악등등 지도 상에 표현할 수 있는 경우Reading datageospatial file format은  shapefile, GeoJSON, KML, GPKG등 다양하다이 코스에서는 shapefile을 다룰것이다geopandas library를 사용python에서 지리공간 데이터 작업을 지원하는 오픈소스 프로젝트geopandas는 pandas의 데이터 타입을 확장하여 geometric(기하학적)타입에 대해 spital(공간)작업을 가능하도록한다import geopandas as gpd# read_file() 로 파일 불러오기gpd_data = gpd.read_file('file pa..

Python/Pandas 2024.06.04

[kaggle learn pandas] Renaming and Combining

RenamingDataFrame의 인덱스 이름, 열이름을 변경할 수 있음rename() function을 사용한다DataFrame.rename(mapper=None, *, index=None, columns=None, axis=None, copy=None, inplace=False, level=None, errors='ignore') 주요 인자mapper열이나 행의 이름을 변경할 수 있으며 axis='colums'이면 column을 rename, axis='index'면 row를 rename현재는 mapper 보다 column, index매개변수를 사용하여 axis지정 없이 개별적으로 처리  index행의 이름을 변경할 때 사용  columns열의 이름을 변경할 때 사용 axis mapper 인자를 사용..

Python/Pandas 2024.05.31

[kaggle learn pandas] Data Types and Missing Values

사용한 데이터 Dtypes데이터 프레임이나 시리즈에 들어있는 값들의 타입DataFrame의 dtype -> df.dtypes  /  series의 dtype -> df.col.dtype (s의 유무)# 데이터 프레임의 dtypedf.dtypes#데이터 프레임의 특정 열을 지정 -> series형식df.col.dtype Auto 데이터 프레임에 적용DataFrame의 dtype : 각 col에 대해서 각각의 dtype과 DataFrame의 dtype을 확인Series의 dtype : 특정 열의 dtype만 확인 column의 type 변경컬럼의 타입을 변경한다 (변경 가능한 타입이라면 데이터 프레임 전체를 일괄로 변경 가능)모든 데이터 타입이 astype()으로 변경되는 것이 아님 (예: datetime은..

Python/Pandas 2024.05.30

[kaggle learn pandas] Grouping and Sorting

사용한 데이터 형태 groupbygroupby()로 선택한 컬럼에 대한 그룹화를 진행한다그룹화는 해당 열의 데이터들의 unique한 값을 기준으로 묶는다해당 그룹에 대해서 count(), mean(), min() 등등을 수행할 수 있다. # df의 col_name1로 그룹화df.groupby('col_name1')# df의 col_name1로 그룹화 한 후 'col_name2'열의 평균을 계산df.groupby('col_name1').col_name2.mean() 1) cylinders열의 unique한 값들을 확인한다 2) cylinders열을 기준으로 groupby를 진행하고 cylinders의 각 unique한 값에 대하여 속하는 mpg열의 값들의 mean을 구한다dataframe에 apply 함수..

Python/Pandas 2024.05.30

[kaggle learn pandas] Summary Functions and Maps

사용한 데이터 형태 Summary functions데이터셋에 대한 기초 통계량을 확인할 수 있다dataframe 전체에 대해서 describe()를 적용하면 수치형 타입의 열에 대해서만 기초 통계를 계산한다수치형 : count, mean, std, min, 25%, 50%, 75%, max문자형 : count, unique, top, freqdf.describe()위 : 수치형 describe()아래 : object describe()Maps해당하는 열의 값들을 다른 값들로 바꾸는것map(), apply()map(), apply() 둘 다 새로운 데이터를 return하지만 원본을 직접 수정하지는 않는다 map()값 하나씩에 접근한다series에 대해서만 사용 가능(lambda x: x-a) : 선택된 열..

Python/Pandas 2024.05.27

[kaggle learn pandas] Indexing, Selecting & Assigning

import pandas as pddf = pd.read_csv('file path', index_col=0) DataFrame의 특정 Series에 접근data frame object의 attribute로 접근하는 방법 1)# df의 attribute로 접근df.feature1만약 col들 중 그 이름에 띄어 쓰기가 포함 되어 있는 경우는 이 방법을 사용하지 못하고 이런 경우에는 2) 방법을 사용하여야한다 2)# 딕셔너리에 접근하는 방법처럼 indexing operator([])을 사용하여 접근df['feature1'] 두개의 방법 모두 같은 결과를 출력한다.  해당 Series의 개별 원소에 접근하는 방법 -> indexing operator ([]) 을 사용한다df['feature1'][0]Inde..

Python/Pandas 2024.05.27

[kaggle learn pandas] Creating, Reading and Writing

DataFrame2차원의 테이블 구조 (행, 열로 구성)각각의 열이 서로 다른 데이터 타입을 가질 수 있음 (예) col1은 int형태이고 col2는 Yes/No의 문자 형태) 같은 열 내에서도 원소들이 다른 타입을 가질 수 있음 (df.info()로 확인하는 경우 섞인 열은 메모리가 큰 자료형의 타입으로 표시됨)series들이 합쳐진 형태Series1차원의 데이터 구조 (하나으 열로 구성)단일 데이터 타입만 가능하다0~ 인덱스를 가지며 사용자 지정 인덱스 구성 가능Create Data Frame 만들기1) 열의 이름만 지정열의 이름('col1','col2')을 지정하고 이를 키로 하고 벨류 위치에는 해당 열의 데이터를 리스트 형식으로 표현한다. 행의 이름은 따로 정해주지 않아 기본 정수 인덱스(0~)를..

Python/Pandas 2024.05.27
728x90
반응형