본문 바로가기
반응형

네카라쿠배14

[8일차] 튜플(tuple)과 딕셔너리(dictionary)는 복습이 필요해. [튜플; Tuple] - 리스트와 비슷하지만 아이템 변경 불가 - 아이템 변경(수정, 삭제 등)이 불가능함 : 리스트는 가능 - ()을 이용해서 선언하고, 데이터 구분은 콤마(,)를 활용한다. - 숫자, 문자(열), 논리형 등 모든 데이터를 같이 저장할 수 있다. - 튜플에 또 다른 컨테이너 자료형 데이터를 저장할 수 있다. - 튜플 아이템 조회 : 리스트와 마찬가지로 아이템에 자동으로 부여되는 번호표가 있음 - N개의 요소가 있다면 인덱스는 0 ~ (N-1)까지 자동 부여 - 튜플 아이템은 tuple[idx] 방식으로 조회 - in /not in : 아이템 존재 유/무 판단 - item in tuple : 있으면 True, 없으면 False 결과 나옴 - in과 not in 키워드는 문자열에서도 사용 .. 2021. 10. 22.
[7일차] 리스트 요긴하게 쓰기 위한 추가/삭제/슬라이싱. 분명하게 정리하기! * Web Data 관련 강의가 함께 있어서, 오늘 수강한 강의 분량이 적다. [리스트 요소 추가, 삭제, 수정] - 추가 : list.append(요소) - append() - append로 들어갈 수 있는 요소는 또 다른 리스트도 가능하다. ex) list.append([a,b,c]) - append는 항상 리스트의 마지막 인덱스에 추가됨 - 추가2 : list.insert(인덱스, 요소) - 특정 위치(인덱스)에 아이템을 추가할 수 있음 - insert() 연습문제) 오름차순으로 정렬되어 있는 숫자들에 사용자가 입력한 정수를 추가하는 프로그램을 만들어보자. (단, 추가 후에도 오름차순 정렬이 유지되어야 한다.) - 주어진 리스트 : [1, 3, 6, 11, 45, 54, 62, 74, 85] - e.. 2021. 10. 19.
[6일차] 기초수학 연습문제로 마무리하고, 자료구조 시작! [연습문제] - N보다 작은 약수, 소수, 소인수 출력하기 -> 약수는 N에서 해당 수를 나눠서 나머지가 0이면 출력 -> 소수는 해당 수를 다시 1부터 해당 수 - 1 까지 나눠서 나머지가 0인 애가 없으면 출력 -> 소인수는 약수이면 +1, 소수이면 +1해서 2 이면 출력 - N을 소인수분해해서, 소인수들의 지수 출력하기 -> 나머지가 0이면 리스트에 추가하고 갯수 세기 : list.count(n) - list에서 n의 갯수를 카운트함 - 서로소는 1 이외에 약수가 없는 두 수를 의미함 - 최소공배수는 두 수의 곱에서 최대공약수로 나누면 구할 수 있음 : 최대공약수를 먼저 구하면 될 듯 - 2진수로 변환 : bin(n) - 8진수로 변환 : oct(n) - 16진수로 변환 : hex(n) - 10진수.. 2021. 10. 17.
[seaborn] 데이터 정리 및 다양한 시각화 실행 데이터 정리 - 우리가 사용할 데이터프레임 crime_anal_station 은 다음과 같다. - 일단 해당 데이터를 활용해서, '구별'을 인덱스로 하여, 값의 합계를 나타낸 피봇테이블을 만들었다. crime_anal_gu = crime_anal_station.pivot_table( #여기서 pd.pivot_table(crime_anal_station, ~ 으로 시작해도 된다. index="구별", aggfunc=np.sum, ) - 여기서 우리는 lat, lng 컬럼이 필요가 없기 때문에, 삭제한다. (drop()을 활용했다.) crime_anal_gu.drop(["lat", "lng"], axis=1, inplace=True) - 우리가 궁금한 수치는, 각 범죄별 '검거율'이다. 예를 들면 살인의 검.. 2021. 10. 14.
[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.
반응형