Pandas read_csv() 튜토리얼: 전문가처럼 데이터 가져오기
Published 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) |
---|---|---|
(opens in a new tab) | (opens in a new tab) | (opens in a new tab) |
팬더스란?
팬더스는 파이썬에서 데이터 조작 및 분석을 위한 인기 있는 오픈 소스 라이브러리입니다. 스프레드시트, 테이블 및 시계열과 같은 구조화된 데이터를 조작하고 분석하는 데 필요한 데이터 구조 및 함수를 제공합니다. 팬더스의 주요 데이터 구조는 Series와 DataFrame으로, 각각 1차원 및 2차원 데이터를 나타낼 수 있습니다.
팬더스의 read_csv() 함수란?
read_csv()
함수는 CSV 파일에서 데이터를 읽어 팬더스 DataFrame에 저장하는 편리한 방법입니다. 이 함수는 구분 기호, 누락된 값 처리, 인덱스 열 설정 등과 같은 데이터 가져오기 요구사항에 맞게 사용자 정의할 수 있는 많은 매개변수가 있습니다.
데이터 분석에 팬더스 사용의 이점
팬더스는 다음과 같은 데이터 분석에 여러 이점을 제공합니다.
- 쉬운 데이터 조작: 강력한 데이터 구조로 인해, 팬더스는 효율적인 데이터 클리닝, 재구성 및 변환을 가능케 합니다.
- 데이터 시각화: 팬더스는 Matplotlib, Seaborn 및 Plotly와 같은 인기 있는 시각화 라이브러리와 통합되어 인사이트를 제공하는 그래프 및 플롯을 쉽게 만들어 줍니다.
- 대규모 데이터 처리: 팬더스는 대용량 데이터를 효율적으로 처리하고 복잡한 작업을 수행할 수 있습니다.
팬더스를 사용하여 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의 기능
팬더스는 데이터 조작 및 분석을 위한 여러 가지 기능을 제공합니다. 그러한 기능은 다음과 같습니다:
- 병합, 재구성, 결합, 및 연결 작업.
- JSON, Excel 및 SQL 데이터베이스를 포함하는 다양한 데이터 형식을 처리합니다.
- CSV, Excel, JSON과 같이 다양한 파일 형식으로 데이터를 내보냅니다.
- 누락된 값을 처리하거나 열 이름을 바꾸거나 조건을 기반으로 데이터를 필터링하면서 데이터를 정리하는 기술.
- 평균, 중앙값, 최빈값, 표준 편차 및 상관 관계와 같은 통계 분석을 수행합니다.
- 시계열 분석은 시간 기록된 데이터를 처리하고 분석하는 데 유용합니다.
데이터 분석을 위한 pandas 사용 방법
데이터 분석을 위해 pandas를 사용하려면 다음 단계를 따르세요:
- pandas 라이브러리를 가져옵니다:
import pandas as pd
- DataFrame에 데이터를 읽어옵니다.
DataFrame에 데이터를 읽어옵니다.
head()
,tail()
,describe()
,info()
등과 같은 메소드를 사용하여 데이터를 탐색합니다.
print(data.head())
print(data.tail())
print(data.describe())
print(data.info())
- 필요한 경우 데이터를 정리하고 전처리합니다. 이는 결측값 처리, 열 이름 변경 및 데이터 유형 변환 등을 포함할 수 있습니다.
data = data.dropna()
data = data.rename(columns={'old_name': 'new_name'})
data['column'] = data['column'].astype('int')
- pandas 메소드와 함수를 사용하여 데이터 분석을 수행합니다. 각종 통계량을 계산하고 조건에 따라 데이터를 필터링하며 그룹화 및 집계 작업과 같은 작업을 수행할 수 있습니다.
mean_value = data['column'].mean()
filtered_data = data[data['column'] > 50]
grouped_data = data.groupby('category').sum()
- Matplotlib, Seaborn 또는 ggPlot과 같은 라이브러리를 사용하여 데이터를 시각화합니다. 이러한 라이브러리는 pandas와 원활하게 통합되므로 분석적 플롯 및 그래프를 쉽게 작성할 수 있습니다.
import matplotlib.pyplot as plt
data['column'].plot(kind='bar')
plt.show()
- CSV, Excel 또는 JSON과 같은 다양한 파일 형식으로 처리된 데이터를 내보낼 수 있습니다.
data.to_csv('processed_data.csv', index=False)
pandas가 처리 가능한 다양한 데이터 형식은 무엇인가요?
pandas는 다양한 데이터 형식을 처리할 수 있습니다. 이를 포함한 몇 가지 예는 다음과 같습니다.
- CSV: 쉼표로 구분된 값(Comma-separated values) 파일
- JSON: JavaScript 객체 표기법(JavaScript Object Notation) 파일
- Excel: Microsoft Excel 파일(.xls 및 .xlsx)
- SQL: SQLite, MySQL 및 PostgreSQL과 같은 관계형 데이터베이스의 데이터
- HTML: HTML 테이블에서 추출한 데이터
- Parquet: Hadoop 생태계에서 사용되는 열 지향 저장 형식
- HDF5: 대규모 데이터 집합을 저장하기 위해 사용되는 계층적 데이터 형식
pandas에서 데이터를 CSV 파일로 내보내는 방법
판다스 데이터프레임에서 데이터를 CSV 파일로 내보내려면 to_csv()
메소드를 사용합니다:
data.to_csv('output.csv', index=False)
이 명령은 data
라는 이름을 갖는 데이터프레임을 output.csv
라는 CSV 파일에 저장합니다. index=False
매개변수는 인덱스 열이 출력 파일에 작성되지 않도록합니다.
판다스에서 일반적인 데이터 정리 기법
판다스에서 일반적인 데이터 정리 기법으로는 다음과 같은 것이 있습니다.
- 누락된 값 처리:
dropna()
,fillna()
,interpolate()
와 같은 방법을 사용하여 누락된 값을 제거하거나, 채우거나, 추정합니다. - 열 이름 바꾸기:
rename()
메소드를 사용하여 데이터프레임의 열 이름을 바꿉니다. - 데이터 유형 변환:
astype()
메소드를 사용하여 열을 적절한 데이터 유형으로 변환합니다. - 데이터 필터링: 불리언 인덱싱을 사용하여 특정 조건을 기반으로 한 행 필터링을 수행합니다.
- 중복값 제거:
drop_duplicates()
메소드를 사용하여 데이터프레임에서 중복된 행을 제거합니다. - 값 바꾸기:
replace()
메소드를 사용하여 데이터프레임에서 특정 값을 바꿉니다.
판다스를 사용하여 병합, 재구성, 결합 및 연결 작업 수행
판다스는 데이터를 결합하고 변환하는 데 유용한 여러 메소드를 제공합니다.
- 병합:
merge()
함수를 사용하여 공통 열 또는 인덱스에 따라 두 데이터프레임을 병합할 수 있습니다. 수행할 병합 유형을 지정할 수 있습니다. (inner
,outer
,left
, 또는right
)[^9^]:
merged_data = pd.merge(data1, data2, on='공통_열', how='inner')
- 재구성:
pivot()
및melt()
함수는 데이터프레임을 재구성하는 데 유용합니다.pivot()
함수는 계층적 인덱스를 갖는 새로운 데이터프레임을 만드는 데 사용되며,melt()
함수는 넓은 형식의 데이터프레임을 긴 형식으로 변환하는 데 사용됩니다 [^10^]:
pivoted_data = data.pivot(index='행', columns='열', values='값')
melted_data = pd.melt(data, id_vars='식별자', value_vars=['열1', '열2'])
- 결합:
join()
메소드는 인덱스를 기반으로 두 데이터프레임을 결합하는 데 사용됩니다.merge()
함수와 마찬가지로 수행할 결합 유형을 지정할 수 있습니다.
joined_data = data1.join(data2, how='inner')
- 연결:
concat()
함수는 특정 축(행 또는 열)을 따라 여러 데이터프레임을 연결하는 데 사용됩니다. 행(축=0) 또는 열(축=1)을 따라 연결할지 여부를 지정할 수 있습니다.[^11^]:
concatenated_data = pd.concat([data1, data2], axis=0)
이러한 작업은 여러 데이터프레임을 다루는 데 기본적이며, 복잡한 데이터 변환 및 분석을 만들기 위해 결합할 수 있습니다.
결론
요약하자면, 판다스는 파이썬에서 데이터 조작 및 분석에 강력한 라이브러리입니다. read_csv()
함수는 CSV 파일에서 데이터를 가져오는 데 필수적인 도구이며, 판다스는 데이터 정리, 분석 및 내보내기를 위해 다양한 함수를 제공합니다. 이러한 기술을 숙달하면 심화 데이터 분석을 수행하고 인사이트를 창출하여 데이터 주도 프로젝트를 추진할 수 있습니다.
판다스 튜토리얼 더보기: