본문 바로가기
반응형

데이터분석26

[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.
[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.
반응형