Skip to content

Pandas read_csv() 튜토리얼: 전문가처럼 데이터 가져오기

Updated on

데이터 과학 프로젝트에서 데이터를 가져오려면 팬더스의 read_csv() 함수가 좋은 시작점입니다. 이 함수는 CSV 파일을 메모리에 읽어들일 수 있으며 데이터 분석 및 조작을 위한 강력한 도구를 제공합니다. 이 튜토리얼에서는 전문가처럼 데이터를 가져오기 위해 알아야 할 모든 것을 다룰 것입니다.

파이썬에서 빠르게 데이터 시각화를 생성하려면?

PyGWalker는 Jupyter Notebook 기반 환경에서 데이터 분석 및 시각화 작업을 이루어내는 데 도움이 되는 오픈 소스 파이썬 프로젝트입니다.

PyGWalker (opens in a new tab)는 판다스(Dataframe) 또는 Polars(Dataframe)를 시각적 UI로 변환하여 변수를 쉽게 끌어서 놓아 그래프를 만들 수 있도록 지원합니다. 다음과 같이 코드를 사용하면 됩니다:

pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)

이제 이 온라인 노트북에서 PyGWalker를 실행할 수 있습니다:

그리고 깃허브에서 ⭐️를 꾸욱 눌러주세요!

Kaggle 노트북에서 PyGWalker 실행 (opens in a new tab)Google Colab에서 PyGWalker 실행 (opens in a new tab)PyGWalker 광고 클릭 (opens in a new tab)
Kaggle 노트북에서 PyGWalker 실행 (opens in a new tab)Google Colab에서 PyGWalker 실행 (opens in a new tab)PyGWalker에 ⭐️ 표시 (opens in a new tab)

팬더스란?

팬더스는 파이썬에서 데이터 조작 및 분석을 위한 인기 있는 오픈 소스 라이브러리입니다. 스프레드시트, 테이블 및 시계열과 같은 구조화된 데이터를 조작하고 분석하는 데 필요한 데이터 구조 및 함수를 제공합니다. 팬더스의 주요 데이터 구조는 Series와 DataFrame으로, 각각 1차원 및 2차원 데이터를 나타낼 수 있습니다.

팬더스의 read_csv() 함수란?

read_csv() 함수는 CSV 파일에서 데이터를 읽어 팬더스 DataFrame에 저장하는 편리한 방법입니다. 이 함수는 구분 기호, 누락된 값 처리, 인덱스 열 설정 등과 같은 데이터 가져오기 요구사항에 맞게 사용자 정의할 수 있는 많은 매개변수가 있습니다.

데이터 분석에 팬더스 사용의 이점

팬더스는 다음과 같은 데이터 분석에 여러 이점을 제공합니다.

  1. 쉬운 데이터 조작: 강력한 데이터 구조로 인해, 팬더스는 효율적인 데이터 클리닝, 재구성 및 변환을 가능케 합니다.
  2. 데이터 시각화: 팬더스는 Matplotlib, Seaborn 및 Plotly와 같은 인기 있는 시각화 라이브러리와 통합되어 인사이트를 제공하는 그래프 및 플롯을 쉽게 만들어 줍니다.
  3. 대규모 데이터 처리: 팬더스는 대용량 데이터를 효율적으로 처리하고 복잡한 작업을 수행할 수 있습니다.

팬더스를 사용하여 CSV 파일에서 데이터 읽기

팬더스를 사용하여 CSV 파일을 읽으려면 먼저 팬더스 라이브러리를 가져와야 합니다:

import pandas as pd

다음으로, read_csv() 함수를 사용하여 CSV 파일을 읽습니다:

data = pd.read_csv('your_file.csv')

이 명령은 CSV 파일을 읽고 데이터를 pandas DataFrame에 저장합니다. 데이터를 data라는 이름을 갖는 DataFrame으로 저장할 것입니다.

DataFrame의 처음 몇 행을 head() 메소드를 사용하여 볼 수 있습니다:

print(data.head())

pandas에서 열을 인덱스로 설정하는 방법

pandas에서 특정 열을 인덱스로 설정하려면 set_index() 메소드를 사용합니다:

data = data.set_index('column_name')

또는 index_col 매개 변수를 사용하여 CSV 파일을 읽는 동안 인덱스 열을 설정할 수 있습니다:

data = pd.read_csv('your_file.csv', index_col='column_name')

메모리로 읽어들일 특정한 열 선택하기

CSV 파일에서 특정 열만 읽고 싶은 경우 read_csv() 함수의 usecols 매개 변수를 사용할 수 있습니다:

data = pd.read_csv('your_file.csv', usecols=['column1', 'column2'])

이 명령은 지정된 열만 읽고 DataFrame에 저장합니다.

pandas의 기능

팬더스는 데이터 조작 및 분석을 위한 여러 가지 기능을 제공합니다. 그러한 기능은 다음과 같습니다:

  1. 병합, 재구성, 결합, 및 연결 작업.
  2. JSON, Excel 및 SQL 데이터베이스를 포함하는 다양한 데이터 형식을 처리합니다.
  3. CSV, Excel, JSON과 같이 다양한 파일 형식으로 데이터를 내보냅니다.
  4. 누락된 값을 처리하거나 열 이름을 바꾸거나 조건을 기반으로 데이터를 필터링하면서 데이터를 정리하는 기술.
  5. 평균, 중앙값, 최빈값, 표준 편차 및 상관 관계와 같은 통계 분석을 수행합니다.
  6. 시계열 분석은 시간 기록된 데이터를 처리하고 분석하는 데 유용합니다.

데이터 분석을 위한 pandas 사용 방법

데이터 분석을 위해 pandas를 사용하려면 다음 단계를 따르세요:

  1. pandas 라이브러리를 가져옵니다:
import pandas as pd
  1. DataFrame에 데이터를 읽어옵니다.
DataFrame에 데이터를 읽어옵니다.
  1. head(), tail(), describe(), info() 등과 같은 메소드를 사용하여 데이터를 탐색합니다.
print(data.head())
print(data.tail())
print(data.describe())
print(data.info())
  1. 필요한 경우 데이터를 정리하고 전처리합니다. 이는 결측값 처리, 열 이름 변경 및 데이터 유형 변환 등을 포함할 수 있습니다.
data = data.dropna()
data = data.rename(columns={'old_name': 'new_name'})
data['column'] = data['column'].astype('int')
  1. pandas 메소드와 함수를 사용하여 데이터 분석을 수행합니다. 각종 통계량을 계산하고 조건에 따라 데이터를 필터링하며 그룹화 및 집계 작업과 같은 작업을 수행할 수 있습니다.
mean_value = data['column'].mean()
filtered_data = data[data['column'] > 50]
grouped_data = data.groupby('category').sum()
  1. Matplotlib, Seaborn 또는 ggPlot과 같은 라이브러리를 사용하여 데이터를 시각화합니다. 이러한 라이브러리는 pandas와 원활하게 통합되므로 분석적 플롯 및 그래프를 쉽게 작성할 수 있습니다.
import matplotlib.pyplot as plt
 
data['column'].plot(kind='bar')
plt.show()
  1. CSV, Excel 또는 JSON과 같은 다양한 파일 형식으로 처리된 데이터를 내보낼 수 있습니다.
data.to_csv('processed_data.csv', index=False)

pandas가 처리 가능한 다양한 데이터 형식은 무엇인가요?

pandas는 다양한 데이터 형식을 처리할 수 있습니다. 이를 포함한 몇 가지 예는 다음과 같습니다.

  1. CSV: 쉼표로 구분된 값(Comma-separated values) 파일
  2. JSON: JavaScript 객체 표기법(JavaScript Object Notation) 파일
  3. Excel: Microsoft Excel 파일(.xls 및 .xlsx)
  4. SQL: SQLite, MySQL 및 PostgreSQL과 같은 관계형 데이터베이스의 데이터
  5. HTML: HTML 테이블에서 추출한 데이터
  6. Parquet: Hadoop 생태계에서 사용되는 열 지향 저장 형식
  7. HDF5: 대규모 데이터 집합을 저장하기 위해 사용되는 계층적 데이터 형식

pandas에서 데이터를 CSV 파일로 내보내는 방법

판다스 데이터프레임에서 데이터를 CSV 파일로 내보내려면 to_csv() 메소드를 사용합니다:

data.to_csv('output.csv', index=False)

이 명령은 data라는 이름을 갖는 데이터프레임을 output.csv라는 CSV 파일에 저장합니다. index=False 매개변수는 인덱스 열이 출력 파일에 작성되지 않도록합니다.

판다스에서 일반적인 데이터 정리 기법

판다스에서 일반적인 데이터 정리 기법으로는 다음과 같은 것이 있습니다.

  1. 누락된 값 처리: dropna(), fillna(), interpolate()와 같은 방법을 사용하여 누락된 값을 제거하거나, 채우거나, 추정합니다.
  2. 열 이름 바꾸기: rename() 메소드를 사용하여 데이터프레임의 열 이름을 바꿉니다.
  3. 데이터 유형 변환: astype() 메소드를 사용하여 열을 적절한 데이터 유형으로 변환합니다.
  4. 데이터 필터링: 불리언 인덱싱을 사용하여 특정 조건을 기반으로 한 행 필터링을 수행합니다.
  5. 중복값 제거: drop_duplicates() 메소드를 사용하여 데이터프레임에서 중복된 행을 제거합니다.
  6. 값 바꾸기: replace() 메소드를 사용하여 데이터프레임에서 특정 값을 바꿉니다.

판다스를 사용하여 병합, 재구성, 결합 및 연결 작업 수행

판다스는 데이터를 결합하고 변환하는 데 유용한 여러 메소드를 제공합니다.

  1. 병합: merge() 함수를 사용하여 공통 열 또는 인덱스에 따라 두 데이터프레임을 병합할 수 있습니다. 수행할 병합 유형을 지정할 수 있습니다. (inner, outer, left, 또는 right)[^9^]:
merged_data = pd.merge(data1, data2, on='공통_열', how='inner')
  1. 재구성: pivot()melt() 함수는 데이터프레임을 재구성하는 데 유용합니다. pivot() 함수는 계층적 인덱스를 갖는 새로운 데이터프레임을 만드는 데 사용되며, melt() 함수는 넓은 형식의 데이터프레임을 긴 형식으로 변환하는 데 사용됩니다 [^10^]:
pivoted_data = data.pivot(index='행', columns='열', values='값') 
melted_data = pd.melt(data, id_vars='식별자', value_vars=['열1', '열2'])
  1. 결합: join() 메소드는 인덱스를 기반으로 두 데이터프레임을 결합하는 데 사용됩니다. merge() 함수와 마찬가지로 수행할 결합 유형을 지정할 수 있습니다.
joined_data = data1.join(data2, how='inner')
  1. 연결: concat() 함수는 특정 축(행 또는 열)을 따라 여러 데이터프레임을 연결하는 데 사용됩니다. 행(축=0) 또는 열(축=1)을 따라 연결할지 여부를 지정할 수 있습니다.[^11^]:
concatenated_data = pd.concat([data1, data2], axis=0)

이러한 작업은 여러 데이터프레임을 다루는 데 기본적이며, 복잡한 데이터 변환 및 분석을 만들기 위해 결합할 수 있습니다.

결론

요약하자면, 판다스는 파이썬에서 데이터 조작 및 분석에 강력한 라이브러리입니다. read_csv() 함수는 CSV 파일에서 데이터를 가져오는 데 필수적인 도구이며, 판다스는 데이터 정리, 분석 및 내보내기를 위해 다양한 함수를 제공합니다. 이러한 기술을 숙달하면 심화 데이터 분석을 수행하고 인사이트를 창출하여 데이터 주도 프로젝트를 추진할 수 있습니다.

판다스 튜토리얼 더보기: