분류 전체보기
-
데이터 사이언스: Pandas plot의 종류와 특성 공부하기!(박스플롯, 산점도, 선, 막대, 원, 히스토그램)데이터 사이언스 2020. 7. 27. 12:57
Pandas에서 제공하는 여러가지 그래프들을 알아보겠습니다~ 1. 선그래프(Line plot) 다음과 같은 데이터프레임이 있을 때 import pandas as pd df = pd.read_csv("Downloads/broadcast.csv", index_col = 0) 선 그래프는 시간의 경과에 따라 변하는 모습을 나타내기 위한 플롯입니다. 그냥 꺽은선 그래프라고 생각하시면 됩니다. df.plot() 방송사의 전체적인 시청률이 떨어지고 있음을 알 수 있습니다. 아마도 유튜브나 넷플릭스 때문이겠죠? df.plot(y = "KBS") df["KBS"].plot() 위의 두 가지방법으로 출력할 수 있습니다. KBS의 시청률이 시간에 지남에 따라 감소하는 것을 알 수 있네요. 2. 막대그래프(Bar graph..
-
데이터 사이언스: Pandas 로 큰 데이터를 다루기(info, describe, unique, value_counts, sort_values), 데이터합치기(merge)데이터 사이언스 2020. 7. 26. 23:31
Pandas로 큰 데이터를 다루어 봅시다! 우선 데이터를 하나 받아옵시다. import pandas as pd df = pd.read_csv("Downloads/laptops.csv") df 데이터 크기가 너무 클 경우에는 ...으로 표현됩니다. 그래서 데이터를 보고 싶은 부분만 가져오기 위해 head를 이용합시다 df.head(N)를 이용하면 첫번째 행부터 N번 째 행까지 가져옵니다. default 값은 5라서 아무값도 입력하지 않으면 5줄의 행만 가져옵니다. df.head() tail()은 head()와 반대로 뒤에서부터 가져옵니다. head와 마찬가지로 default 값으로 5를 갖습니다. df.tail() 데이터 프레임의 정보를 가져옵니다. df.info() RangeInd..
-
데이터 사이언스: Pandas 잘못된 데이터 고치기 (rename, set_index)데이터 사이언스 2020. 7. 25. 13:15
잘못된 데이터를 고쳐가면서 pandas를 공부해 봅시다 다음과 같은 데이터가 있습니다. import pandas as pd liverpool_df = pd.read_csv("Downloads/liverpool.csv", index_col = 0) liverpool_df 칼럼들의 이름 첫 시작을 대문자로 바꾸어 줍시다. name_set = {'position': "Position", "born": "Born", "number":"Number","nationality":"Nationality"} liverpool_df.rename(columns = name_set, inplace = True) liverpool_df 보기 편하게 행의 이름 또한 만들어 줍시다. liverpool_df.index.name = ..
-
데이터 사이언스: Pandas 데이터(csv파일) 받아오기, 인덱싱(Indexing), 데이터 변형 공부하기!데이터 사이언스 2020. 7. 24. 22:50
1. 판다스(Pandas)로 데이터 받아오기 판다스 내부 메소드 read_csv()로 .csv 파일을 가져온다. import pandas as pd df_iphone = pd.read_csv("Downloads/iphone.csv", index_col = 0) # index_col = 0 첫번째 칼럼을 인덱스로 한다는 의미 df_iphone 2.1 판다스(Pandas) loc 인덱싱 df.loc["a", "b"] = 행이 "a"이고, 열이 "b"인 값을 가져온다. (loc는 location을 의미) df_iphone.loc["iPhone 8"] # "iPhone8" 행을 가져온다 출시일 2017-09-22 디스플레이 4.7 메모리 2GB 출시 버전 iOS 11.0 Face ID No Name: iPhon..
-
알고리즘: 백준 1932번 정수 삼각형 (feat. Python)알고리즘/백준(BaekJoon) 2020. 7. 22. 07:21
최적 부분 구조와 중복되는 부분이 보인다. 다이나믹 프로그래밍으로! 점화식: n 번째 줄 0번째까지의 합 = n - 1번째 줄 0번째까지의 합 + n 번째 줄 0번째 값 n 번째 줄 1번째까지의 합 = max(n - 1번째 줄 0번째까지의 합, n - 1번째 줄 1번째까지의 합) + n번째 줄 1번째 값 n 번째 줄 2번째까지의 합 = max(n - 1번째 줄 1번째까지의 합, n - 1번째 줄 2번째까지의 합) + n번째 줄 2번째 값 ... n 번째 줄 n - 1번째까지의 합 = max(n - 1번째 줄 n - 2번째까지의 합, n - 1번째 줄 n - 1번째까지의 합) + n번째 줄 n - 1번째 값 n 번째 줄 n번째까지의 합 = n - 1번째 줄 n - 1번째까지의 합 + n 번째 줄 n번째 값..
-
알고리즘: 백준 1149번 RGB거리 (feat. Python)알고리즘/백준(BaekJoon) 2020. 7. 21. 14:43
최적 부분구조와 중복되는 부분이 있으므로 다이나믹 프로그래밍으로 풀어줍니다. 점화식: 1. n번째 집에서 R을 칠할 때 비용의 최솟값 = min( n - 1 번째 집에서 G을 칠할 때 비용의 최솟값, n - 1 번째 집에서 B을 칠할 때 비용의 최솟값 ) + n 번째 R을 칠하는데 드는 비용 2. n번째 집에서 G을 칠할 때 비용의 최솟값 = min( n - 1 번째 집에서 R을 칠할 때 비용의 최솟값, n - 1 번째 집에서 B을 칠할 때 비용의 최솟값 ) + n 번째 G을 칠하는데 드는 비용 3. n번째 집에서 B을 칠할 때 비용의 최솟값 = min( n - 1 번째 집에서 R을 칠할 때 비용의 최솟값, n - 1 번째 집에서 G을 칠할 때 비용의 최솟값 ) + n 번째 B을 칠하는데 드는 비용 n개..
-
데이터 사이언스: Pandas 시리즈(Series)와 데이터 프레임(Data Frame) 공부하기!데이터 사이언스 2020. 7. 21. 00:52
Pandas에서 제공하는 라이브러리인 시리즈(Series)와 데이터프레임(DataFrame)을 공부하겠습니다. 판다스에는 일차원 데이터를 위한 시리즈(Series)와 고차원 배열을 다루기 위한 데이터프레임(Data Frame)이 있습니다. 그리고 이 판다스를 통해서 SQL, 엑셀파일, csv파일을 가져와 데이터를 활용할 수 있죠 시리즈는 1차원 배열의 데이터를 다루는 자료구조입니다. 시리즈와 1차원 넘파이(numpy)배열은 유사하지만 판다스에서 더 많은 기능을 제공합니다. 시리즈는 파이썬의 딕셔너리와 유사해서 이와 연관지으면 이해하기 쉽습니다. 예를 들어 딕셔너리에서 key와 value가 있다면 시리즈에서는 index와 data가 있습니다. 다만 시리즈의 경우에는 행렬로 표현..
-
데이터 사이언스: numpy 연산과 통계 값들 구하기(표준편차, 분산, 평균, 중앙값...)데이터 사이언스 2020. 7. 18. 19:45
기존 파이썬 리스트의 연산과는 달리 numpy 배열의 연산은 배열 원소들간의 사칙 연산입니다. 각 위치마다 정해진 값을 따로 연산하기 때문에 numpy배열의 모양(shape)이 다른 경우에는 연산이 되지 않아 오류가 뜹니다. 따라서 numpy배열끼리의 사칙연산을 코딩하기 위해서는 우선적으로 각 배열의 shape을 확인하여야 합니다. import numpy as np x = np.arange(10) y = np.arange(10,20) print(x) print(y) [0 1 2 3 4 5 6 7 8 9] [10 11 12 13 14 15 16 17 18 19] numpy 라이브러리를 추가해주고 리스트 x와 y를 만들어줍시다. x + 2 array([ 2, 3, 4, 5, 6,..