본문 바로가기

Python/Data Analysis

(22)
Data Analysis / pandas / DataFrame(3) 1. loc[ ]를 이용한 추출 import numpy as np import pandas as pd data = {'이름':['이순신', '홍길동', '강감찬', '김유신', '장보고'], '학과':['컴퓨터', '기계', '철학', '컴퓨터', '국어국문'], '학년':[1,2,2,4,3], '학점':[1.5, 2.0, 3.1, 1.1, 2.7]} df = pd.DataFrame(data, columns=['학과','이름','학점','학년','등급'], index=['one','two','three','four','five']) # 행 추출 display(df.loc['one':'three']) # 행과 열을 동시에 추출할 수도 있다. # display(df.loc[..
Data Analysis / pandas / DataFrame(2) Databse 안의 Table을 사용하는 방법은 크게 두 가지이다. 1. Django에서 사용하는 ORM 방식 (Model을 이용해서 Tablel을 사용) => 장점 : SQL이라고 불리는 Database 언어를 몰라도 Table 사용이 가능하다. 2. 일반적으로는 SQL 구문을 이용해서 Database 안의 Table을 사용 => SQL 구문을 알아야 table에서 내가 원하는 데이터를 추출할 수 있다. # 저번에 만들었던 Database의 table을 활용해보자 import pymysql.cursors import pandas as pd # 데이터베이스에 연결 conn = pymysql.connect(host='localhost', user='da..
Data Analysis / Pandas / DataFrame(1) # pandas DataFrame은 python의 dictionary를 가지고 만든다. # dictionary로 DataFrame을 생성할 때 데이터의 개수가 맞지 않으면 error # dictionary의 key가 DataFrame의 column으로 들어가게 된다. # DataFrame은 Series의 집합 (각 column이 Series) import numpy as np import pandas as pd # dictionary data = {'names' : ['아이유', '김연아', '홍길동', '강감찬', '이순신'], 'year' : [2015, 2019, 2020, 2013, 2017], 'points' : [3.5, 1.5, 2.0, 3.4, 4.0] } # Da..
Data Analysis / Pandas / Series # Pandas는 ndarray(NumPy)를 기본 자료구조로 이용 # ndarray를 가지고 Pandas는 두 개의 또 다른 자료구조를 이용 # => Series, DataFrame # Series : 동일한 데이터 타입의 여러개의 성분으로 구성되는 자료구조 (1차원) # DataFrame : 데이터베이스에서 Table과 같은 개념 (2차원) # Series로 구성되어 있음 (하나의 Series가 열로 들어감) # pandas를 먼저 설치해야 한다. # conda install pandas import numpy as np import pandas as pd # ndarray arr = np.array([-1,4,5,99], dtype=np.float64) # Series => nd..
Data Analysis / NumPy / ndarray(1) import numpy as np a = [1,2,3,4,5]# python의 list print(a)# [1,2,3,4,5] # python의 list를 가지고 np array 생성 가능 arr = np.array(a) print(arr)# [1 2 3 4 5] => 콤마(,)가 없음에 유의! print(type(arr))# # dtype 속성으로 데이터의 타입을 알 수 있음 print(arr.dtype)# int32 # index번호로 접근도 가능 print(arr[0])# 1 print(type(arr[0]))# b = [100, 3.14, True, 'Hello'] arr2 = np.array(b) print(arr2)# ['100' '3.14' 'True' 'Hello..
Data Analysis / NumPy / ndarray(2) # reshape()와 resize() import numpy as np # ndarray의 shape 조절 함수 # reshape() : 원하는 형태(shape)로 ndarray의 shape를 조절 # ravel() : 1차원 vector(1차원 ndarray)로 shape를 변형 # 정수형태의 난수를 이용해서 (3,4) shape을 가지는 ndarray 생성 np.random.seed(10) arr = np.random.randint(0, 10, (3,4)) # result = arr.resize(2,6) # error : view가 생성되는 것이 아니라 원본이 변함 # reshape() 함수는 요소의 개수가 맞지 않으면 reshape가 되지 않음..