[Elice] 02-03 데이터 조작 및 분석을 위한 Pandas 기본

jeongjeong2·2022년 11월 4일
0

Elice

목록 보기
9/18
  1. series 데이터

    • pandas : 구조화된 데이터를 효과적으로 처리하고 저장, Array계산에 특화된 NumPy 기반으로 설계
    • Numpy + array가 보강된 형태, Data와 Index를 가진다.
      ex) import pandas as pd
      data = pd.Series([1,2,3,4])
      print(data) #index가 포함되어서 표로 결과가 나타남
    • Series는 값(values)을 ndarray형태로 가지고 있음
      ex) print(data.values) #[1 2 3 4], ' '로 구분,
      print(type(data.values)) #'numpy.ndarray'
    • dtype으로 데이터 타입을 지정할 수 있다.
      ex) data = pd.Series([1, 2, 3, 4], dtype = "float")
      print(data.dtype) #float64, data타입은 모두 동일해야한다.
    • index를 지정할 수 있고(data = ''', index = []로 지정), index로 접근 가능
    • Dictionary를 활용하여 Series 생성 가능
      ex) dict = {}
      population = pd.Series(dict)로 생성
  2. Dataframe

    • 여러 개의 Series가 모여서 행과 열을 이룬 데이터
    • Dictionary를 활용하여 DataFrame 생성 가능 : dictionary의 value값에 list로 대입
    • Dictionary를 이용 >> Series생성 >> DataFrame생성
    • DataFrame 속성을 확인하는 방법
    • DataFrame의 index와 column에 이름 지정 가능
      ex) DataFrame.index.name = ""
      DataFrame.index.name = ""
    • 데이터 프레임 저장 및 불러오기 가능
  3. 데이터 선택 및 변경하기

    • indexing/slicing이용해서 선택.
    • .loc : 명시적인 인덱스를 참조하는 인덱싱/슬라이싱
      .iloc : 암묵적으로 location을 인덱싱/슬라이싱, 파이썬 스타일의 정수 인덱스 인덱싱/슬라이싱 (index이름이 아닌 기존의 정수 index로 불러오는 것)
      ex) country.loc['china'] #인덱싱
      country.loc['japan':'korea', : 'population'] #슬라이싱
      country.iloc[0] #인덱싱
      country.iloc[1:3, :2] #슬라이싱
    • column 이름을 활용해서 데이터 선택도 가능하다.
      ex) country['gdp'] #Series형태로 출력
      country[['gdp']] #DataFrame형태로 출력
    • Masking 연산이나 query함수를 활용하여 조건에 맞는 DataFrame 행 추출 가능
    • Series도 numpy array처럼 연산자 활용 가능
    • list of dictionary로 데이터 추가 가능
    • NaN(not a number)값으로 초기화 한 새로운 컬럼 추가
    • column삭제 가능
      ex) df.drop('전화번호', axis = 1, inplace = True) #axis = 1 : 열방향/ axis = 0 : 행방향, inplace = True : 원본 변경을 의미

0개의 댓글