본문 바로가기
반응형

파이썬기초15

String and advanced function concept String - 문자열 데이터 - 시퀀스 자료형으로, 문자형 데이터를 메모리에 저장 - 영문자 한 글자는 1byte의 메모리 공간을 사용 - 1byte = 8bit = 2**8 = 256까지 저장 가능 - bit는 0 또는 1 - 컴퓨터는 문자를 직접적으로 인식하지는 않고, 모든 데이터를 2진수로 인식함 - 이를 위해서 2진수를 문자로 변환하는 표준 규칙을 정함 - Ex) 대문자 U는 이진수로 1000011로 변환됨 (UTF-8기준) - 아스키 코드 표준(ASCII)를 많이 씀 - 메모리 공간 정수형 : int(4byte), long(무제한) 실수형 : float(8byte) - 인덱싱(Indexing) - 문자열의 각 문자는 개별 주소를 가짐 -> 이 주소를 가지고 할당된 값을 가져옴 - 슬라이싱(Sl.. 2022. 1. 17.
Conditionals and Loops > Conditionals - 조건문 : If, elif, els - 프로그램 작성 시 조건에 따른 판단과 반복은 필수 - 조건문이란 조건에 따라 특정한 동작을 하게 하는 명령어 - 조건문은 조건을 나타내는 기준과 실행해야 할 명령으로 구성됨 - 조건의 참, 거짓에 따라 실행해야 할 명령이 수행되거나 되지 않음 - If-else - 조건을 표기해서 참, 거짓을 판단하는데 비교 연산자를 활용함 - a의 값과 b의 값이 같더라도 a is b가 False일 수 있음 -> is는 주소를 비교해서 같은지 확인하기 때문임 - if 'abc'는 참이고, if ""는 거짓임 - 논리 키워드 and, or, not : 논리 키워드에 따라 참과 거짓을 판단하기도 함 - and는 양쪽이 모두 참이어야 참, or는 한쪽만 참.. 2022. 1. 14.
Variable & List > Variables - 가장 기초적인 문법 - 데이터(값)을 저장하기 위한 메모리 공간의 프로그래밍상 이름 - 변수 = 값 : 변수에 값을 저장한다. - 변수는 값을 저장하는 장소 - 변수는 메모리 주소를 가지고 있고, 변수에 들어가는 값은 메모리 주소에 할당됨 Cf) 컴퓨터의 구조 - 폰 노이만 아키텍쳐 - 사용자가 컴퓨터에 값을 입력하거나 프로그램을 실행하면, 메모리에 저장하고 시작한다고 생각하자. - 선언되는 순간 메모리 특정 영역에 물리적인 공간이 할당된다. - 변수에 값이 할당되고, 해당 값은 메모리에 저장됨. - A=8의 의미는 'A라는 이름을 가진 메모리 주소에 8을 저장하라'라는 말 > 변수 이름 작명법 - 알파벳, 숫자, 언더스코어(_)로 선언 가능 - 변수명은 의미 있는 단어로 표기하.. 2022. 1. 14.
Python coding environment (Interpreter, Code Editor) > 개발 환경 (Development Environment) - 프로그램을 작성하고, 실행시키는 환경 > OS를 선정 : Windows, Linux, Max OS 1) Windows : 친숙하고 초기에 쉬움, 모듈 설치가 어렵고 과거에 참고 문서가 부족했었다. 2) Linux : 모듈 설치가 쉽고 공짜, 참고 문서가 매우 많다. OS 자체가 사용이 어려움 3) Max OS : 모듈 설치 쉽고, 참고 문서도 많다. 비싸다. > 인터프리터 (Interpreter) 선정 - 2.7와 3.X 버전이 존재함. 현재는 3.X 기준으로 모든 시스템이 작동됨 - 2020년부터는 Tensorflow에서 2.X는 지원을 하지 않음 - 최근 3.9버전이 출시 되었음 - 종류에는 Python, Anaconda 등이 있음 > .. 2022. 1. 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.
[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.
반응형