반응형

데이터 분석 (with Python) 4

판다스 데이터프레임을 읽고 저장할때 인덱스 컬럼의 처리

판다스 데이터프레임은 행마다 0부터 인덱스 번호를 자동으로 붙혀준다. 만약 데이터 자체에 인덱스가 있어 별도의 인덱스 번호가 불필요 하다면, csv를 읽어올때 index_col=0 매개변수를 지정해 주면 된다. # csv 화일에 인덱스가 이미 있다는 것을 알려주려면 index_col 매겨변수를 사용한다. df = pd.read_csv('filename.csv', index_col=0) 데이터프레임을 csv 화일로 저장시, 데이터프레임의 인덱스를 포함시키지 않으려면, index=False 매개변수를 추가해준다. df.to_csv('filename_NoneIndex.csv', index=False)

DtypeWarning: Columns have mixed types (Pandas read_csv)

판다스에서 read_csv 로 csv 화일을 읽어올때, import pandas as pd df = pd.read_csv('filename.csv') 아래와 같이 DtypeWarning: Columns have mixed types 경고가 발생하는 경우가 있다. Warning 가 발생하여도 이후 데이터를 읽지 못하는 것은 아니다. :8: DtypeWarning: Columns (5,6,9) have mixed types. Specify dtype option on import or set low_memory=False. df = pd.read_csv('filename.csv') 원인은 Columns have mixed types 이란 표현 그대로, 데이터 유형이 혼합되어 있는 열(column)이 있다는 ..

파일 인코딩 형식 확인 - chardet.detect() 함수

with open('화일명.csv') as f: print(f.readline()) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb9 in position 0: invalid start byte 위와 같이 csv 화일을 readline()로 읽을때, 인코딩이 맞지 않으면 UnicodeDecodeError 오류가 발생한다. open() 함수는 기본적으로 UTF-8로 읽는다. 이런 오류가 발생시 인코딩 포맷을 먼저 확인해보아야 한다. 이때 사용하는 것이 chardet.detect() 함수이다. chardet.detect()는 주어진 바이트 데이터의 문자 인코딩을 판별하여 어떤 인코딩을 사용하는지에 대한 정보를 제공한다. import chardet # 감지할..

Python에서 Google Drive 파일 다운로드 (gdown 패키지)

gdown 패키지는 Google Drive에 업로드된 파일을 다운로드하기 위한 패키지이다. 코랩에서 gdown 으로 다운로드하면 코랩 파일에 바로 등록된다. 로컬에 저장되는 것이 아니다. 단, 코랩 이외의 환경에서는 테스트해보지 못했다. pip install gdown gdown.download 함수를 사용하여 Google Drive에서 파일을 다운로드할 수 있다. import gdown # Google Drive에서 파일의 ID를 얻습니다. file_id = 'your_file_id' # 다운로드할 파일의 이름을 설정합니다. output_file = 'output_file_name.ext' # gdown.download를 사용하여 파일을 다운로드합니다. gdown.download(f'https://dr..

반응형