본문 바로가기
반응형

Data Science92

[googlemaps] 파이썬으로 구글 맵스 API 불러와서 데이터 업그레이드하기 - 구글맵스 API를 불러와서 데이터를 정리해봤다. - 정확히는 정리라기보다는, 우리가 가진 행정시/구 데이터를 바탕으로, 구글맵스에서 위도/경도 정보를 가져왔다. - 그 정보를 우리가 만든 데이터프레임(피봇테이블 등)에 업데이트했다. - 기본적으로 API를 이용하기 위해서는 Google Maps Platform에서 키 값을 받아와야 한다. - 아래 링크에 들어가서 키를 받으면 된다. https://mapsplatform.google.com/?hl=ko#products Google Maps Platform - Location and Mapping Solutions Create real world and real time experiences for your customers with dynamic map.. 2021. 10. 14.
[pandas.pivot_table] 피봇테이블, 개꿀. pandas.pivot_table - pandas 피봇테이블은 크게 index, columns, values, aggfunc으로 구성된다. - 피봇테이블을 그려 볼 데이터를 가져왔다. - pd.pivot_table() 로도 가능하지만, 해당 데이터프레임(df)이 있다면, df.pivot_table()로 만들 수 있다. - 피봇테이블을 만들었을 때, 숫자데이터만 취합된다. 문자로 된 것들은 보여주지 않는다. - 인덱스 설정은, index="인덱스"로 한다. df.pivot_table(index="name") - 멀티 인덱스도 가능하다. 2개 이상의 인덱스를 넣을 때는 리스트로 감싸서 넣어주면 된다. df.pivot_table(index=["Name", "Rep", "Manager"]) - values 설정.. 2021. 10. 13.
[matplotlib] colormap 형태의 산점도와 선형 회귀식, 그리고 오차 표현 - 지난 시간에 배운 산점도(plt.scatter())를 활용해서 data_result의 인구수와 소계를 표현 def drawGraph(): plt.figure(figsize=(14,10)) plt.scatter( data_result["인구수"], data_result["소계"], s=50 ) plt.xlabel("인구수") plt.ylabel("CCTV") plt.grid() plt.show() drawGraph() 선형회귀, Linear Regression - numpy에서 지원하고 있기 때문에, 항상 import numpy as np를 불러주고 시작한다. - np.polyfit(x, y, 차수) : 선형회귀식의 각 계수를 찾는 함수 - np.poly1d(계수) : 계수를 넣으면 선형회귀식을 만들어.. 2021. 10. 13.
[matplotlib] 데이터 다듬어서 간단한 시각화 다뤄보기 - 기본적으로 데이터를 다룰 때는 pandas, numpy 모듈을 늘 달고 사는 것 같다. - 시각화에는 Matplotlib 모듈을 자주 쓴다. 물론 .plot으로 자체적으로 가능하지만, 더 많은 기능이 있는 듯하다. 데이터 다듬기 - 시각화에서 중요한 것은 "데이터 정렬" CCTV_Seoul.sort_values(by="소계", ascending = False).head() # by="정렬기준" # ascending은 오름차순이다. False를 하면 내림차순. # head()는 기본 상위 5개를 보여주고, 괄호 안에 숫자를 넣으면 그 수만큼 보여준다. - 최근 증가율(2014, 2015, 2016이 2013년도 이전에 비해 얼마나 증가했는지)이 중요한 지표가 될 수 있을 것 같아서, 컬럼을 추가하려고 .. 2021. 10. 13.
[5일차] 기초수학 왕창 듣는데, 파이썬 구현하는 거에 맛 들림 [최대 공약수] - 두 개 이상의 수에서 공통된 약수를 공약수라고 함 - 소인수분해를 하면 최대공약수 및 공약수를 구할 수 있다. - 겹치는 소인수를 다 곱하면 최대공약수! 예제) 두 개의 수를 입력하면 공약수와 최대공약수를 출력하는 코드를 작성하자. - 파이썬으로 최대공약수를 구하는 것은 "for문과 유클리드호제법"으로 구한다. - 유클리드 호제법 : x, y의 최대공약수는 y, r(=x%y)의 최대공약수와 같다. [최소 공배수] - 공배수 : 두 개 이상의 수에서 공통된 배수를 공배수라고 한다. - 공통인 소인수의 지수가 큰 값 * 공통이 아닌 모든 소인수 - 파이썬에서 최소공배수 : 최대공약수 구함 -> 최대공약수로 각각 나눈 값을 구함 -> 최대공약수와 그 값들 다 곱! 예제) 최소공배수 출력 프.. 2021. 10. 13.
[4일차] 파이썬으로 코딩 예제 풀고, 기초수학 출발 [연습문제] - 점수별 결과 출력 프로그램 코딩 연습 # 점수 입력받기 score = [0,0,0,0,0] score[0] = int(input("국어 점수를 입력하세요.")) score[1] = int(input("영어 점수를 입력하세요.")) score[2] = int(input("수학 점수를 입력하세요.")) score[3] = int(input("과학 점수를 입력하세요.")) score[4] = int(input("국사 점수를 입력하세요.")) #총점, 평균, 편차 출력 index = ['국어', '영어', '수학', '과학', '국사'] everyone = [85, 82, 89, 75, 94] sum_everyone = sum(everyone) avr_everyone = int(sum_every.. 2021. 10. 12.
[3일차] 반복문 완료, 그리고 복습하면서 연습문제 풀어봤음 [반복문] - 특정 실행을 반복하는 것 - 프로그래밍이 간결하고 유지 보수가 쉬움 - 횟수에 의한 반복 / 조건에 의한 반복 - 횟수 : 횟수 만큼 반복 실행 -> for - 조건 : 조건에 만족할 떄까지 반복 실행 -> while [for문 : 횟수에 의한 반복문] ex) 대량 메일 또는 문자 발송, 인사말 반복, mp3 반복 재생 - for ~ in for 변수 in 범위: 실행문 - in 뒤에는 iterable한 자료 구조가 나오면 됨 - 자료 구조 안에 요소들이 하나씩 출력된다고 생각하면 된다. - range(5) = [0, 1, 2, 3, 4] - N번 반복하고 싶으면 range(N)이라고 기억하면 좋을 것 같다. - 구구단 7단을 for 문으로 코딩해보기 - pass 키워드 : 코딩을 나중에 .. 2021. 10. 11.
[2일차] 연산자와 조건문 뽀개기 [산술 연산자] - 할당 연산자는 오른쪽에서 왼쪽으로 전달해주는 것이라고 생각하면 좋다. - % : 나머지만 구하는, // : 몫만 구하는, ** : 거듭제곱 - 문자(열)을 산술 연산자로 연결하면, 그 문자가 반복되는 느낌이라고 생각한다. - 곱셈도 똑같다. *7을 하면 7번 반복됨 - 숫자와 문자는 더할 수 없다. - 실습 : 국어, 영어, 점수를 입력 받아서 표현 - 실수가 들어간 산술 연산의 결과는 실수가 나옴 - 나눗셈의 결과는 항상 '실수(float)'임 - 나머지와 몫을 한번에 구하는 함수는 divmod() divmod(처음 수, 나눌 수) - 10을 3으로 나누려고 하면, 아래와 같다. divmod(10, 3) - 거듭제곱 연산자는 ** 임. 2의 3제곱은 '2 ** 3'으로 코딩함 - n.. 2021. 10. 8.
[pandas] DataFrame(데이터프레임) 쪽지시험;Quiz 후기 젠장. 손 코딩이 문제에 나올거라는 생각을 못했다. - 비전공자는 웁니다 엉엉 뭐 그래도, 덕분에 이제 문제 어떻게 나올지 알겠으니까 제대로 해보자. 생각나는 문제 복기를 해보자면 아래와 같다. 1. Jupyter Notebook 에서 Pandas를 pd라는 별칭으로 불러오려면 어떻게 코딩하는가? import pandas as pd 2. "01. Seoul_CCTV.csv" 파일 불러올 때 코딩 어떻게 하는가? pd.read_csv("../data/01.Seoul_CCTV.csv") 3. 엑셀 파일 불러올 때는 어떻게 코딩하는가? pd.read_excel("파일 위치 및 파일명") 4. 데이터 프레임 생성할 때, 어떻게 코딩을 시작하는가? pd.DataFrame 5. 날짜 데이터를 pd로 만드려면 어떻게.. 2021. 10. 7.
반응형