Series와 DataFrame 이해하기

실습링크 : https://colab.research.google.com/notebooks/mlcc/intro_to_pandas.ipynb?hl=ko

https://developers.google.com/machine-learning/crash-course/

구글에서는 머신러닝 단기집중과정이라는 온라인 머신러닝 학습시스템을 제공하고 있습니다.
얼마 전에 한국어로 번역이 되었고 한국인 엔지니어가 감수를 했다고 해서 이 과정을 진행해 보니 머신러닝을 배우기에 좋은 콘텐츠라서 이 과정을 소개해 봅니다.

또 이 과정의 번역은 머신러닝 기술을 사용했다고해서 더 의미가 있는데요, 혼자 공부하면 지루하니 같이 이렇게 온라인상으로 나마 공부해 볼까 합니다.

Pandas에 대한 기본 소개로 시리즈와 데이터프레임 객체에 대한 간단한 이해를 할 수 있는 실습을 해봅니다.

Pandas 간단 소개

학습 목표:

  • pandas 라이브러리의 DataFrameSeries 데이터 구조에 관한 소개 확인하기
  • DataFrameSeries 내의 데이터 액세스 및 조작
  • pandas DataFrame으로 CSV 데이터 가져오기
  • DataFrame의 색인을 다시 생성하여 데이터 셔플

Pandas는 열 중심 데이터 분석 API입니다. 입력 데이터를 처리하고 분석하는 데 효과적인 도구이며, 여러 ML 프레임워크에서도 Pandas 데이터 구조를 입력으로 지원합니다.
Pandas API를 전체적으로 소개하려면 길어지겠지만 중요한 개념은 꽤 간단하므로 아래에서 소개하도록 하겠습니다. 전체 내용을 참조할 수 있도록 Pandas 문서 사이트에서 광범위한 문서와 여러 가이드를 제공하고 있습니다.

기본 개념

다음 행은 Pandas API를 가져와서 API 버전을 출력합니다.

import pandas as pd
pd.__version__

Pandas의 기본 데이터 구조는 두 가지 클래스로 구현됩니다.

  • DataFrame은 행 및 이름 지정된 열이 포함된 관계형 데이터 테이블이라고 생각할 수 있습니다.
  • Series는 하나의 열입니다. DataFrame에는 하나 이상의 Series와 각 Series의 이름이 포함됩니다.

데이터 프레임은 데이터 조작에 일반적으로 사용하는 추상화입니다. SparkR에 유사한 구현이 존재합니다.

Series를 만드는 한 가지 방법은 Series 객체를 만드는 것입니다. 예를 들면 다음과 같습니다.

pd.Series(['San Francisco', 'San Jose', 'Sacramento'])

DataFrame 객체는 string 열 이름과 매핑되는 'dict'를 각각의 Series에 전달하여 만들 수 있습니다. Series의 길이가 일치하지 않는 경우, 누락된 값은 특수 NA/NaN 값으로 채워집니다. 예를 들면 다음과 같습니다.

city_names = pd.Series(['San Francisco', 'San Jose', 'Sacramento'])
population = pd.Series([852469, 1015785, 485199])

pd.DataFrame({ 'City name': city_names, 'Population': population })

강의에 등록된 질문이 없습니다. 궁금한 부분이 있으면 주저하지 말고 무엇이든 물어보세요.