Pandas DataFrame을 CSV로 내보내는 방법: 포괄적인 가이드
Published on
데이터 분석가나 과학자로서, 적절한 조직, 조작 및 분석을 요구하는 대규모 데이터셋을 처리할 수 있게 될 수도 있습니다. Python에서, Pandas 라이브러리는 특히 DataFrame과 함께 데이터 wrangling과 조작에 강력한 도구를 제공합니다. 데이터를 DataFrame에 맞게 깔끔하게 정렬하고 구성한 후, 다음 단계는 저장 및 공유에 적합한 형식으로 보관하는 것입니다.
탭 형태의 데이터셋에서 가장 인기있는 파일 형식 중 하나는 CSV (comma-separated values)입니다. 이 포괄적인 가이드에서는 Pandas DataFrame을 CSV 파일로 내보내는 과정을 안내합니다. 이 작업에 익숙하지 않거나 기술력을 향상시키고자 하는 경우, 모든 것을 이해할 수 있습니다.
파이썬 Pandas Dataframe에서 코드 없이 빠르게 데이터 시각화를 만들고 싶은 경우?
PyGWalker는 시각화와 함께 탐색적 데이터 분석을 위한 Python 라이브러리입니다. PyGWalker (opens in a new tab)는 당신의 판다스 데이터프레임 (그리고 polars 데이터프레임)을 Tableau 스타일의 유저 인터페이스로 시각적 탐색을 위해 간소화할 수 있습니다.
Pandas DataFrame을 CSV로 내보내는 이유
DataFrames를 CSV 파일로 내보내는 것은 다음과 같은 다양한 이점을 제공합니다:
- 효율적인 저장: CSV 파일은 Excel이나 JSON과 같은 다른 형식에 비해 최소한의 저장 공간만을 필요로 합니다.
- 사용 편의성: CSV 파일은 스프레드시트 및 텍스트 편집기 포함 다양한 소프트웨어 애플리케이션에서 쉽게 생성하고 읽을 수 있습니다.
- 유연성: 데이터 워크플로의 일환으로 다른 데이터베이스 및 프로그래밍 언어에서 CSV 파일을 사용할 수 있습니다.
- 표준화: CSV 파일은 사용자 또는 조직 간 데이터를 공유하고 교환하기 위한 표준화된 형식을 제공합니다.
이러한 이점들은 데이터 저장 및 공유에 대한 CSV의 인기를 높입니다. 이 가이드는 내장된 .to_csv()
메소드를 사용하여 Pandas DataFrames을 CSV 파일로 내보내는 과정을 마스터하는 데 도움을 줍니다.
Pandas에서 DataFrame을 CSV로 내보내는 방법
.to_csv()
메소드는 데이터프레임을 CSV 파일로 내보내는 데 가장 일반적으로 사용되는 Pandas 라이브러리 메소드 중 하나입니다. 이 메소드에는 내보내기 프로세스를 사용자 지정할 수 있는 여러 매개변수가 있습니다.
import pandas as pd
# 샘플 DataFrame 생성
df = pd.DataFrame({"이름": ["John", "Jane", "Peter"], "나이": [25, 30, 28], "급여": [60000, 80000, 75000]})
# DataFrame을 CSV로 내보내기
df.to_csv('sample.csv', index=False)
이 예제에서는 세 개의 열(Name, Age, and Salary)을 가진 간단한 DataFrame을 생성한 다음, .to_csv()
메소드를 사용하여 DataFrame을 'sample.csv'라는 CSV 파일로 저장했습니다.
index
매개변수는 CSV 파일에서 DataFrame 인덱스를 포함할지 여부를 지정합니다. 기본적으로이 매개변수는 True
로 설정됩니다. False
로 설정하면 Pandas는 저장된 CSV 파일에서 DataFrame 인덱스를 제외합니다.
.to_csv()
메소드에서의 매개변수
index
매개변수 외에도, .to_csv()
메소드에는 여러 매개변수가 있어 상황에 따라 내보내기 과정을 수정할 수 있습니다:
- path_or_buf: DataFrame을 저장할 파일 경로 또는 버퍼를 지정하는 문자열입니다. 이 매개변수는 필수입니다.
- sep: CSV 파일에서 사용되는 구분 기호를 지정하는 문자열입니다. 기본적으로 이 매개변수는 쉼표(',')로 설정됩니다. 세미콜론(';') 또는 탭 문자 ('\t')와 같은 다른 구분 기호를 지정할 수 있습니다.- header: 불리언 값 또는 문자열 목록을 지정하여 저장된 CSV 파일의 헤더 행을 지정할 수 있습니다. 기본적으로이 매개 변수는
True
로 설정되며, 헤더 행에는 DataFrame 열 이름이 포함됩니다. 이 매개 변수를False
로 설정하면 내보낸 CSV 파일에 헤더가 포함되지 않습니다. - index: CSV 파일에 DataFrame 인덱스를 포함할지 여부를 지정하는 불리언 값입니다. 기본적으로이 매개 변수는
True
로 설정됩니다. - mode: 파일 쓰기 모드를 지정하는 문자열입니다. 기본적으로 Pandas는 기존 파일을 덮어 쓰는 쓰기 모드를
'w'
로 설정합니다. DataFrame 내용을 기존 CSV 파일에 추가하는 append 모드로 변경할 수 있습니다. - decimal: CSV 파일에서 소수점 구분 기호로 사용되는 문자를 지정하는 문자열입니다. 기본적으로이 매개 변수는
'.'
로 설정됩니다. - date_format: DataFrame의 날짜-시간 개체의 형식을 지정하는 문자열입니다. CSV 파일에 문자열로 저장됩니다. 기본적으로이 매개 변수는
None
으로 설정됩니다. - quotechar: 특수 문자 (예 : 쉼표, 따옴표 또는 줄 바꿈)를 포함하는 필드를 인용하는 데 사용되는 문자를 지정하는 문자열입니다. 기본적으로이 매개 변수는
'"'
로 설정됩니다.
데이터 프레임 내보내기에 대한 대안적인 방법
Pandas DataFrames를 .to_csv ()
메소드를 사용하여 CSV 파일로 내보내는 것은 보편적인 방법이며 효율적입니다. 그러나 다른 옵션도 있습니다. 그 중 일부는 다음과 같습니다 :
Excel로 내보내기
pd.ExcelWriter ()
클래스를 사용하여 Excel 파일을 만들고 .to_excel()
메소드를 사용하여 DataFrame을 내보낼 수 있습니다. 이 방법을 사용하는 장점은 하나의 Excel 파일에 여러 워크 시트를 만들 수 있다는 것입니다.
# Excel 파일 및 작성자 객체 생성
writer = pd.ExcelWriter('sample.xlsx')
# Excel로 내보내기
df.to_excel(writer, sheet_name='Sheet1', index=False)
# Excel 파일 저장 및 작성자 객체 닫기
writer.save()
JSON으로 내보내기
.to_json()
메서드를 사용하여 Pandas DataFrame을 JSON 파일로 저장할 수 있습니다. 이 방법은 JSON 형식의 DataFrame을 문자열 표현으로 생성합니다.
# DataFrame을 JSON으로 내보내기
df.to_json('sample.json')
HDF5로 내보내기
HDF5 (계층적 데이터 형식)은 대규모 데이터 집합을 저장하기 위해 일반적으로 사용되는 고성능 파일 형식입니다. Pandas는 HDF5에 DataFrames을 저장하기 위해 HDFStore
클래스를 제공합니다.
# HDF5 파일 생성 및 데이터 프레임 저장
store = pd.HDFStore('sample.h5')
store['df'] = df
# HDF5 파일 닫기
store.close()
SQL 데이터베이스로 내보내기
Pandas는 .to_sql()
메소드를 사용하여 DataFrame을 직접 SQL 데이터베이스로 내보낼 수 있습니다. 데이터베이스와 통신 할 SQLAlchemy 엔진 객체를 만들어야합니다.
from sqlalchemy import create_engine
# 데이터베이스 엔진 객체 작성
engine = create_engine('sqlite:///sample.db', echo=False)
# SQL 데이터베이스로 내보내기```python
df.to_sql('sample', con=engine, if_exists='replace', index=False)
피클링
마지막으로, 판다스 데이터프레임을 피클 객체로 저장할 수 있습니다. 피클 객체는 데이터프레임의 이진 형식으로 직렬화된 표현입니다.
# 데이터프레임을 피클 객체로 내보내기
df.to_pickle('sample.pkl')
결론
결론적으로, CSV 파일로 판다스 데이터프레임을 내보내는 것은 타인과 함께 탭으로 된 데이터를 저장하고 공유하는 필수적인 작업입니다. 판다스 라이브러리의 .to_csv()
메소드를 사용하면 구분자 선택, 타임스탬프 추가 및 인코딩 오류 처리와 같은 유연한 옵션으로 데이터프레임을 CSV 형식으로 저장할 수 있습니다.
기타 Python 튜토리얼을 확인하여 기술을 향상하세요!