촉촉한초코칩

파이썬으로 시작하는 데이터 사이언스 - 2강 본문

Study/Big Data

파이썬으로 시작하는 데이터 사이언스 - 2강

햄친구베이컨 2023. 10. 21. 16:03

데이터 분석 준비하기

 

1. 데이터 분석을 위한 파이썬 속성 코스

 

  • import
  • boolean
  • data type
  • list
  • for
  • if
  • len
  • split
  • join
연산자 기능
== 비교 연산
할당 연산
#and 연산 > &, and
True & True
True & False
#or 연산 > |, or
True | False

#숫자 1 데이터 타입 출력
type(1)
#문자 1 데이터 타입 출력
type("1")

#변수에 문자열 담기
til = "Today I Learned"
til.lower()
til.upper()

#비어 있는 리스트 만들기
lang = []
lang
#원소 추가하기
lang.append("python")
lang.append("java")
lang.append("c")
lang
#마지막 인덱스 가져오기
lang[-1]

#반복문을 통해 리스트의 원소 하나씩 출력하기
for i in lang:
  print(i)
  
#python일 때는 그대로 출력하고 나머지 텍스트는 기타라고 출력한다.
for i in lang:
  if i != "python":
    print("기타")
  else:
    print(i)
#특정 횟수만큼 반복문 실행하기
count = len(lang)
for i in range(count):
  print(lang[i])
#enumerate를 사용하면 인덱스 번호와 원소를 같이 가져올 수 있다.
for i, val in enumerate(lang):
  print(i, val)
  
#주소를 address 변수에 담는다.
address = " 경기도 성남시 분당구 불정로 6 NAVER 그린팩토리 16층 "
#앞뒤 공백을 제거한다. 변경 사항을 적용하려면 다시 변수에 넣어줘야 한다. 
address = address.strip()
#문자열 길이 
count = len(address)
#공백으로 문자열 분리
address_list = address.split()

#슬라이싱으로 문자 가져오기
address[:2]
#startswith를 사용해 특정 문자가 포함되는지 여부를 확인한다.
address.startswith("경기")
#in을 사용해 특정 문자열을 포함하고 있는지 여부를 확인한다.
"경기" in address

#인덱싱으로 리스트의 원소 가져오기 - 주소에서 구를 가져와 gu 변수에 담는다.
gu = address_list[2]
#" ".join(리스트)를 사용하면 리스트를 공백 문자열에 연결할 수 있다.
#리스트로 분리된 문자열을 다시 연결한다. 
"_".join(address_list)
#in을 사용하면 리스트에 해당 데이터를 포함하고 있는지 확인할 수 있다.
#반드시 텍스트 전체가 일치해야 True를 출력한다.
"경기도" in address_list

2-1.py
0.00MB
2-1.ipynb
0.03MB

 

2. 판다스 차트시트를 활용한 기초 익히기

 

판다스 : 파이썬 데이터 분석 라이브러리(대용량 데이터 처리) pandas.pydata.org 

 

  • pandas
  • dataframe
  • series
  • sort
  • drop
  • groupby
  • pivot table
  • plot

 

import pandas as pd

#DataFrame : 2차원 자료구조
#공식문서(도움말) 활용하기
pd.DataFrame?
df = pd.DataFrame(
    {"a" : [4,5,6],
     "b" : [7,8,9],
     "c" : [10,11,12]},
     index = [1,2,3])

#Series : 1차원 자료구조
#데이터프레임에서 단일행 또는 단일열을 가져왔을 때 시리즈 형태로 나온다.
df["a"]
#괄호를 두번 쓰면 DataFrame 형태로 출력할 수 있다.
df[["a"]]

#Subset
df[df["a"] > 4]
#2개 이상 > DataFrame 형태로 가져오기
df[["a", "b"]]

#Summarize Data
#빈도수
df["a"].value_counts()
#value_counts : Series 형태 데이터의 범주형 변수의 빈도수를 그룹화 해서 계산해 주는 기능

#sort_values, drop
#a 컬럼 기준으로 정렬
df["a"].sort_values()
#전체 데이터를 a 컬럼 기준으로 정렬
df.sort_values("a", ascending=False)
#컬럼 기준으로 drop > 변경 사항을 적용하려면 다시 df에 넣어주어야 한다.
df.drop(["c"], axis=1)

#Groupby
#pivot : 형태만 변경
#pivot_table : 값 연산 가능
df.groupby(["a"])["b"].agg(["mean","sum","count"])
df.groupby(["a"])["b"].describe()

#Plotting : 그래프
df.plot()
df.plot.area()
df.plot.bar()

2-2.ipynb
0.18MB
2-2.py
0.00MB

 

3. 파일 경로 설정 방법

 

  • %mv
  • %pwd
  • %ls
  • pd.read_csv
  • cp949

 

import os
#실습 파일 경로 확인 
#  %pwd와 동일
os.getcwd()

import pandas as pd
pd.read_csv("파일경로/파일명", encoding="cp949")

#리스트 형태로 파일 리스트 가져오기 
from glob import glob
file_name = glob("data/*")
file_name
#csv 파일만 불러오기
glob("data/*.csv")

#여러 개 파일 한꺼번에 가져오기
for file_csv_name in file_name:
   print(file_csv_name)
   pd.read_csv(file_csv_name)