인문대생의 데이터 직군 취업로그 23

류지윤·2023년 7월 6일
0
post-thumbnail

[ 오늘의 수업 내용 요약 ]

  1. 데이터 읽기
  2. pandas로 CSV, 엑셀 파일 읽기
  • python에서 R만큼의 강력한 데이터 핸들링 성능을 제공하는 모듈
  • 단일 프로세스에서는 최대 효율
  • 코딩 가능하고 응용 가능한 엑셀로 받아들여도 됨
  • 누군가는 스테로이드를 맞은 엑셀이라고 표현함
  1. python에서 import pandas as pd 라고 사용
  • 원하는 모듈이 설치되어 있으면 import 명령을 통해 사용하겠다고
    선언
    ex) import MODULE: MODULE
    => MODULE..function을 사용하겠다.

import MODULE as md
=> MODULE을 사용할건데, 앞으로는 md라는 이름으로 부르겠다.
=> md.functin을 사용하겠다.
from MODULE import function
=> MODULE에 포함된 function이라는 함수만 사용하겠다.
=> function만 사용하겠다.
3. pandas에서 엑셀 및 텍스트 파일 읽기

  • 통상 csv는 띄어쓰기로 구분되니 그냥 read_csv 명령으로 읽기만
    해도 된다.
  • 긴 파일명을 끝까지 입력하지 말고 적당한 곳에 TAB키를 눌러보자
  • 한글은 encoding 설정이 필수 (안그러면 글자가 깨진다.)
  • 엑셀 설정
  • 자료를 읽기 시작할 행(header)지정
  • 읽어올 엑셀의 컬럼을 지정(useclos)
  1. pandas dataframe구조
  • index
  • column name
  • column
  • values
  1. 실습 서울시 CCTV 현황 분석 데이터 읽기
  • 파일명.head() : 상위 5개 결과 보기
  • 파일명.tail() : 하위 5개 결과 보기, 전체 데이터 개수 파악 용이
  • inplace=True : 변경한 사항을 원본에 저장
  1. pandas 기초
  • pandas는 통상 pd로 import한다.
  • 수치해석적 함수가 많은 numpy는 통상 np로 import한다.
  • pandas의 데이터형을 구성하는 기본은 Series이다.
  • date_range(): 날짜(시간)을 이용할 수 있다.
  • pandas에서 가장 많이 사용되는 데이터형은 Data Frame이다.
  • index와 columns를 지정하면 된다.
  • df.head(): 앞부분 5개 데이터 확인
  • df.index: Data Frame의 index만 확인하고 싶을 때 사용
  • df.columns: Data Frame의 컬럼만 확인하고 싶을 때 사용
  • df.values: Data Frame의 value만 확인하고 싶을 때 사용
  • df.info: DataFrame의 기본 정보 확인할 때 사용, 여기서는 각
    컬럼의 크기와 데이터 형태를 확인하는 경우가 많다.
  • df.describe(): Data Frame의 통계적 기본 정보를 확인할 때
    사용
  • df.sort_values: 데이터 정렬
  • df[n:m] :n~m-1까지, 그러나 인덱스나 칼럼의 이름으로
    slice하는 경우는 끝을 포함함
  • df.loc: location의 약자, 행과 열을 지정할 수 있다.
    이름으로도 사용가능하며 pandas의 보편적인 slice옵션이다.
  • df.iloc: 번호로만 지정하여 접근할 수 있다.
  • df[condition]과 같이 사용하는 것이 일반적이다.
  • pandas의 버전에 따라 조금씩 허용되는 문법이 다르다.
  • 인터넷에서 확보한 소스코드를 돌릴때는 pandas의 버전을
    확인하는 것이 필요하다
  • isin: 특정 요소가 있는지 확인
  • del: 특정 컬럼 제거
  • apply(): 함수를 적용
  1. 서울시 CCTV현황분석 pandas series
  • object는 파이썬에서 str과 같다.
  1. DataFrame 실습
  • df.head()와 df.tail()은 메서드이기 때문에 함수가 붙고, df.index, df.columns, df.values는 변수이기 때문에
    함수가 붙지 않아도 선언되는 것이다.
  • asceding=False 라는 값을 주면 내림차순으로 정렬된다.
  • 오름차순은 sort_value()
  • 두 개 이상 컬럼 선택: df[["A", "B"]]
  • df.drop(["D"], axis=0), drop메서드는 axis를 꼭 같이
    사용해야한다.
  • #axis = 0 가로, axis = 1 세로
  1. 데이터 훑어보기
  • CCTV 앞부분 데이터 확인
  • 단순히 구별 CCTV 개수로는 한계가 있어 인구 현황과 함께
    비교 해야한다.
  • unique 조사
  • 데이터가 많아지면 unique 조사를 통해 데이터를 초반 검증
    해야한다.
  • 외국인과 고령자 비율을 만들어둔다
  • 데이터 행이 25개인데 딱 한줄로 의도하는 바를 이룬다.
  • 컬럼 연산이 편하다는 것이 python의 장점
  1. 데이터 합치기
  • merge를 이용한 데이터 병합
  • pandas DataFrame 데이터끼리의 병합은 빈번히 발생한다.
  • 병합후 데이터가 엉망이 되지 않도록 잘 익혀야 한다.
  • key컬럼을 기준으로 병합
  • how=“left”로 지정하면 left의 키값들이 모두 보존된다.
  • how=“outer”(합집합)를 사용하면 left, right 데이터들을
    모두 살릴 수 있다.
  • how=“inner”은 교집합들만 가지고 간다고 이해하면 쉽다.

[ 수업과정 데이터 병합 순서 ]
1. pandas index 지정
2. 데이터를 정리하는 과정에서 index를 재지정할 때가 있다.
3. 여기서는 unique한 데이터인 구별로 index를 잡자
4. index를 재지정하는 명령은 set_index이다.

상관관계란 ?
: 두 변량 사이에 한쪽이 증가하면 다른쪽도 증가(또는 감소)하는
경향이 있을 때 이 두 변량 사이에는 상관관계가 있다고 한다.
단, 상관관계가 있다고 해서 두 변량이 인과관계인 것은 아니다.

  • 상관관계 함수 : corr()

0개의 댓글