Chapter 08 데이터프레임 처리를 위한 Pandas

Ruinak·2021년 8월 13일
0

BigData

목록 보기
7/7
post-thumbnail

Pandas의 기초

Pandas의 데이터 형식

  • pandas에는 크게 2가지 형태의 데이터 형식이 있습니다.
  • 시리즈(Series)와 데이터프레임(DataFrame)입니다.
  • 시리즈는 1차원 배열의 개념이며 데이터프레임은 2차원 배열의 개념을 지니고 있습니다.

시리지(Series) 형식

  • Pandas의 시리즈는 1차원 배열의 형태와 비슷한데 복수의 행(row)으로 이루어진 하나의 열(column)의 구조를 지니고 있습니다.
  • 색인(index)을 가지고 원하는 데이터에 접근할 수 있습니다.
  • index를 지정하지 않으면 0부터 1씩 증가하는 방식으로 자동적으로 지정을 해줍니다.
  • 색인을 원하는 이름으로 입력하면 지정한대로 출력됩니다.
  • 'index' 키워드를 사용하며 위와 같이 입력 데이터를 작성하면 됩니다.
  • Pandas의 시리즈 형식으로 변환된 데이터는 위와 같이 색인을 나열하여 원하는 값들을 출력할 수 있습니다.
  • 위와 같이 index를 사용하면 만들어진 시리즈 데이터에서 인덱스만을 출력할 수 있습니다.
  • 위와 같이 values를 사용하면 만들어진 시리즈 데이터에서 값들만을 출력할 수 있습니다.
  • sorted( ) 함수를 사용하여 인덱스나 값들을 정렬할 수 있습니다.
  • x와 y에 공통된 인덱스가 존재해야 더할 수 있으므로 광주와 대전은 NaN으로 표시됩니다.
  • Pandas의 1차원 배열 형식인 Series 객체로부터 유일한 값들을 반환하는 메서드를 사용합니다.
  • 숫자뿐만 아니라 문자열도 똑같이 작동합니다.
  • 사전 형식의 데이터를 Pandas의 Series 형식으로 변환할 수 있습니다.
  • Pandas는 index로 슬라이싱이 가능합니다.

예제 8-1

  • 앞에서 배운 리스트의 개념에 따르면 a 변수의 2번 인덱스에 저장된 값인 '수빈'이 출력되어야 하는데, 에러가 발생합니다.
  • Pandas의 Series 기본 구조에서는 이름 앞에 인덱스 번호가 정해져 있습니다.
  • 앞에서 슬라이싱할 때에 이들의 값들까지 삭제된 것입니다.
  • Series 형식 데이터에서의 인덱스 번호란 자체적으로 내포하고 있는 'index'를 의미하며 일반 배열에서의 인덱스와 다릅니다.

데이터프레임(DataFrame)

  • Dataframe은 2차원 배열의 개념을 가지고 있으며 행과 열로 구성되어 있습니다.
  • 일반적으로 열(Column)에 대한 각각의 이름을 부여합니다.
  • name 칼럼의 내용만 출력하는 방법입니다.
  • 위의 방법으로는 특정한 위치의 내용들을 출력하기 어렵습니다.
  • Pandas에는 iloc( ) 메서드를 사용하여 특정한 행이나 위치의 내용들을 지정하여 출력할 수 있습니다.
  • 1차원 배열을 이용하면 특정한 행의 값들을 출력할 수 있습니다.
  • data.iloc[1]는 1번 행의 값을 출력하기 위한 명령문입니다.
  • data.iloc[:, -1]는 모든 행의 마지막 데이터만을 출력하는 명령문입니다.
  • head( )와 tail( )을 사용하면 처음이나 마지막 행의 결과를 출력할 수 있습니다.
  • head( ) 메서드에서 괄호 안에 입력값을 넣으면 첫 행부터 입력한 수만큼의 행이 출력이 되며, 입력하지 않으면 첫 5줄의 행을 출력하게되며, tail( )에서도 같은 원리로 작동합니다.
  • Pandas의 DataFrame에서 특정 항목만 선택하여 저장하거나 출력할 수 있습니다.
  • 위에서는 boolean 값을 이용하여 True인 것은 선택하고 False인 것은 선택하지 않도록 설정하는 예입니다.
  • DataFrame 형식으로 구성된 data는 2개의 칼럼을 가지고 있으며 첫 칼럼의 이름은 'First', 두 번째 칼럼의 이름은 'Second'입니다.
  • bools의 1번, 2번, 4번 인덱스 위치의 값들만 True이므로 data의 Second 칼럼의 해당 값들만 출력된 것을 확인할 수 있습니다.
  • Pandas에서는 데이터의 값을 수학적인 메서드를 이용하여 계산할 수 있습니다.

Pandas의 데이터형

  • Pandas의 대표적인 데이터형
    - 1. Objects : 문자 또는 문자열형
    - 2. Int64 : 정수형
    - 3. Float64 : 실수형

Pandas 데이터의 형변환

  • 위 코드를 실행하면 data라는 Pandas 형식의 테이블이 출력됩니다.
  • Pandas의 형식을 출력해야 하므로 여기에서는 print( ) 함수를 사용하지 않습니다.
  • 위 코드는 'First' 칼럼의 내용을 정수에서 실수형으로 모두 수정하는 명령문입니다.
  • astype( ) 메서드를 사용하여 원하는 데이터 타입을 'float'와 같이 입력하면 됩니다.

Pandas에 파일 가져오기

  • 외부의 파일을 가져와서 Pandas 형태로 저장하여 사용할 수도 있습니다.
  • 엑셀의 csv파일이나 텍스트가 저장된 txt 파일 등을 가지고 올 수 있습니다.
profile
Nil Desperandum <절대 절망하지 마라>

0개의 댓글