[Linux]부트캠프 - 파일 및 폴더 생성
파일 및 폴더 생성
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
Numerical Python
벡터 및 행렬 연산에 있어서 매우 편리한 기능을 제공
import numpy as np
np.__version__
'1.19.2'
참고. 선언된 모듈과 패키지의 영향 범위
* 파이썬 콘솔이나 주피터 노트북의 코드 셀에서 import로 불러온 모듈이나 패키지는 한 번만 선언하면 다시 선언하지 않아도 된다.
* 주피터 노트북에서 새로운 노트북을 실행하면 다시 선언해 함
* 시퀀스 데이터(리스트, 튜플 등)로 부터 배열 생성
* https://numpy.org/doc/stable/reference/arrays.html
형식 : arr_obj = np.array(seq_data)
data1 = [1,2,3]
data1
[1, 2, 3]
data2 = [1,2,3,3.5,5]
data2
[1, 2, 3, 3.5, 5]
# 리스트 객체를 이용하여 array 생성
arr1 = np.array(data1)
arr1
array([1, 2, 3])
# array 크기 확인
arr1.shape
(3,)
# 리스트를 직접 입력하여 array 생성
arr2 = np.array([1,2,3,4,5])
arr2
array([1, 2, 3, 4, 5])
arr2.shape # 1차 데이터여서 5개의 데이터가 있다는 것을 알려 줌
(5,)
# array의 자료형 확인
arr2.dtype
dtype('int32')
arr3 = np.array([1, 2, 3, 3.5, 4])
arr3
array([1. , 2. , 3. , 3.5, 4. ])
arr3.dtype
# arr3 배열의 원소 중 float 하나가 있기 때문에 모두 실수형으로 바뀐다.
dtype('float64')
arr3.shape
(5,)
arr4 = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
arr4
array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])
arr4.shape
(4, 3)
arr4.dtype
dtype('int32')
* 부호가 있는 정수 int(8, 16, 32, 64)
* 부호가 없는 정수 uint(8, 16, 32, 64)
* 실수 float(16, 32, 64, 128)
* 복소수 complex(64, 128, 256)
* 불리언 bool
* 문자열 string_
* 파이썬 오브젝트 object
* 유니코드 unicode_
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(1, 5)
array([1, 2, 3, 4])
np.arange(1, 10, 2)
array([1, 3, 5, 7, 9])
np.arange(12).reshape(3, 4) # reshape(x,y) = x행 y열
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
b1 = np.arange(12).reshape(3,4)
b1.shape
(3, 4)
reshape(m,n)의 m*n의 개수와 arange()로 생성되는 원소의 개수와 일치해야 함
reshape()는 1차원 -> 2차원, 2차원 -> 1차원 등 차원을 바꿀 수 있다.
b2 = np.arange(7).reshape(3,3)
# b2가 7개의 데이터 값을 갖고 있는데 비해
# reshape에서는 3행 3열. 즉, 9개의 데이터가 있어
# 개수가 일치하지 않아서 에러가난다.
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-50-d5a4614a705b> in <module>
----> 1 b2 = np.arange(7).reshape(3,3)
2 # b2가 7개의 데이터 값을 갖고 있는데 비해
3 # reshape에서는 3행 3열. 즉, 9개의 데이터가 있어
4 # 개수가 일치하지 않아서 에러가난다.
ValueError: cannot reshape array of size 7 into shape (3,3)
50개로 나누는 것이 디폴트
np.linspace(1, 10, 10)
array([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
np.linspace(0, np.pi, 20) # np.pi= 원주율 파이
# 0과 파이 사이의 값을 20개로 나누어 출력
array([0. , 0.16534698, 0.33069396, 0.49604095, 0.66138793,
0.82673491, 0.99208189, 1.15742887, 1.32277585, 1.48812284,
1.65346982, 1.8188168 , 1.98416378, 2.14951076, 2.31485774,
2.48020473, 2.64555171, 2.81089869, 2.97624567, 3.14159265])
np.linspace(1, 10) # default 값인 50개로 나눈다.
array([ 1. , 1.18367347, 1.36734694, 1.55102041, 1.73469388,
1.91836735, 2.10204082, 2.28571429, 2.46938776, 2.65306122,
2.83673469, 3.02040816, 3.20408163, 3.3877551 , 3.57142857,
3.75510204, 3.93877551, 4.12244898, 4.30612245, 4.48979592,
4.67346939, 4.85714286, 5.04081633, 5.2244898 , 5.40816327,
5.59183673, 5.7755102 , 5.95918367, 6.14285714, 6.32653061,
6.51020408, 6.69387755, 6.87755102, 7.06122449, 7.24489796,
7.42857143, 7.6122449 , 7.79591837, 7.97959184, 8.16326531,
8.34693878, 8.53061224, 8.71428571, 8.89795918, 9.08163265,
9.26530612, 9.44897959, 9.63265306, 9.81632653, 10. ])
np.zeros(10)
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
np.zeros(10, dtype=int)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
np.zeros((3, 5)) # 3행 5열, 튜플을 넣어줘야 이렇게 나온다!
array([[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]])
np.zeros((3, 5)).reshape(5,3) # reshape을 사용해 행열도 바꿔봐~
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
np.ones(10)
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
np.ones(10, dtype=int)
array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
np.ones((3,5), dtype=int)
array([[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]])
# 3행 3열에 대각요소만 1인 행렬이 만들어진다.
np.eye(3)
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])
np.eye(3,4, dtype=int) # 정방행렬이 아님, 자료값 정수형으로 변경
array([[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0]])
np.eye(3,4, k = 1, dtype = int)
# k = 1, 인덱스를 1부터 시작하게 만듦.
array([[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]])
np.eye(3, 4, k = 2, dtype = int)
# 1이 2칸 옆으로 간 열부터 대각으로 뿌리기 시작
array([[0, 0, 1, 0],
[0, 0, 0, 1],
[0, 0, 0, 0]])
np.eye(3, 4, k = -1, dtype = int) # k에 -n 을 넣으면 왼쪽으로 n칸
array([[0, 0, 0, 0],
[1, 0, 0, 0],
[0, 1, 0, 0]])
# n*n 크기의 단위행렬 생성
np.identity(5, dtype=int) # 5 * 5 행열이 생김
array([[1, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 1, 0],
[0, 0, 0, 0, 1]])
# 초기화 되지 않은 배열 생성
np.empty(4)
array([2.47032823e-323, 6.95312088e-310, 2.02369289e-320, 2.47032823e-323])
num_arr = str_arr.astype(dtype)
dtype : int, float, str
np.array(['1.5', '0.62', '2', '3.14', '3.141592'])
array(['1.5', '0.62', '2', '3.14', '3.141592'], dtype='<U8')
str_a1 = np.array(['1.5', '0.62', '2', '3.14', '3.141592'])
num_a1 = str_a1.astype(float) # 문자형은 숫자형으로 바꾸기
# num_a1 = str_a1.astype('float32')도 가능!
num_a1
array([1.5 , 0.62 , 2. , 3.14 , 3.141592])
str_a1.dtype # 문자형
dtype('<U8')
num_a1.dtype # 숫자형
dtype('float64')
str_a2 = np.array(['1', '3', '5', '7', '9'])
num_a2 = str_a2.astype(int) # 정수형으로
num_a2
array([1, 3, 5, 7, 9])
num_a3 = str_a2.astype(float) # 실수형으로
num_a3
array([1., 3., 5., 7., 9.])
num_a4 = str_a1.astype(int)
# .이들어간 문자형을 정수형으로 바꾸면 안된다.(실수형은 가능)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-95-bce26b76df27> in <module>
----> 1 num_a4 = str_a1.astype(int)
2 # .이들어간 문자형을 정수형으로 바꾸면 안된다.(실수형은 가능)
ValueError: invalid literal for int() with base 10: '1.5'
num_f1 = np.array([10, 21, 0.549, 4.75, 5.98])
num_f1 # 정수형도 실수형으로 바뀜(.이 찍힘)
array([10. , 21. , 0.549, 4.75 , 5.98 ])
num_i1 = num_f1.astype(int)
num_i1 # 정수형으로 바뀜!
# 중요한 것은 모두 round down 된다는것이다.
array([10, 21, 0, 4, 5])
num_f1.dtype
dtype('float64')
num_i1.dtype
dtype('int32')
num_f1.astype('U') # 유니코드32로 변환
array(['10.0', '21.0', '0.549', '4.75', '5.98'], dtype='<U32')
num_f1.astype('S')
array([b'10.0', b'21.0', b'0.549', b'4.75', b'5.98'], dtype='|S32')
실수
난수를 갖는 NumPy 배열을 생성]np.random.rand(10)
np.random.rand(2,5)
array([[0.81075852, 0.96839103, 0.92734339, 0.7367261 , 0.16054829],
[0.99387669, 0.06062578, 0.24653199, 0.65040437, 0.99729459]])
np.random.rand() # 한개만
0.19831774647832667
np.random.rand(2,3,4) # (면,행,렬)
array([[[0.18637109, 0.18076786, 0.87092099, 0.0014111 ],
[0.06726972, 0.85321027, 0.56316736, 0.92553405],
[0.70529795, 0.94861209, 0.49012668, 0.14774724]],
[[0.46761248, 0.5183946 , 0.35053201, 0.55678582],
[0.23383691, 0.62521424, 0.4682477 , 0.09237873],
[0.96108493, 0.97033424, 0.40605525, 0.44390691]]])
정수
난수를 갖는 NumPy 배열을 생성np.random.randint(10) # 0에서 10사이의 문자 한개가 나옴
4
np.random.randint(10, 20) # 10에서 20사이의 문자 한개
19
np.random.randint(10, 20, size = (3,5)) # size는 차원수(2차원)
array([[12, 17, 18, 17, 14],
[14, 11, 16, 17, 16],
[12, 18, 11, 10, 15]])
np.random.randint(10, 20, size = (2,3,5)) # size는 차원수(3차원)
array([[[16, 14, 11, 17, 10],
[11, 13, 16, 18, 14],
[19, 13, 11, 16, 19]],
[[19, 18, 16, 14, 16],
[19, 15, 12, 18, 16],
[17, 16, 13, 15, 13]]])
: 기본적으로 동일한 크기의 array 간 연산 수행
arr1 = np.array([[1,3,4],[4,3,6]])
arr1
array([[1, 3, 4],
[4, 3, 6]])
arr2 = np.arange(10, 16).reshape(2,3) # arange, reshape 이용
arr2
array([[10, 11, 12],
[13, 14, 15]])
print(arr1.shape, arr2.shape)
(2, 3) (2, 3)
arr1 + arr2
array([[11, 14, 16],
[17, 17, 21]])
arr1 - arr2
array([[-9, -8, -8],
[-9, -11, -9]])
arr1 * arr2 # 순수하게 위치가 같은 것 끼리 곱하는 것
array([[10, 33, 48],
[52, 42, 90]])
arr1 / arr2
array([[0.1 , 0.27272727, 0.33333333],
[0.30769231, 0.21428571, 0.4 ]])
arr1*2 # arr1의 값들이 2배 씩 늘어남
array([[ 2, 6, 8],
[ 8, 6, 12]])
arr2 > 12 # arr2의 각 값들을 True or False 형태로 변환
array([[False, False, False],
[ True, True, True]])
arr1
array([[1, 3, 4],
[4, 3, 6]])
arr3 = np.array([10,11,12])
arr3
array([10, 11, 12])
(arr1.shape, arr3.shape) # 형태는 다르지만
((2, 3), (3,))
arr1 + arr3 # 차원에 맞게끔 더해진다.
# arr1의 1행과 2행에 arr3의 요소가 각각 더해진다.
array([[11, 14, 16],
[14, 14, 18]])
arr1 ** 2 # arr1의 제곱의 형태도 가능
array([[ 1, 9, 16],
[16, 9, 36]], dtype=int32)
출처 : http://www.astroml.org/book_figures/appendix/fig_broadcast_visual.html
파일 및 폴더 생성
파일 시스템 탐색
도움말(man -> manual)
명령어 기초
유닉스(Unix)
특정 코드 지연 실행 - DispatchQueue.main.asyncAfter(deadline: )
Naming Conventions
안드로이드 폰과 맥북에어 M1 USB 테더링 성공
Simulator 풀 스크린 사용 방법
10807번 - 개수 세기
프로그래머스 Lv.1 풀이 코드 모음
프로그래머스 Lv.1 풀이 코드 모음
11047번 - 동전 0
11659번 - 구간 합 구하기 4
14888번 - 연산자 끼워넣기
9184번 - 신나는 함수 실행
24416번 - 알고리즘 수업 - 피보나치 수 1
2580번 - 스도쿠
9663번 - N-Queen
15652번 - N과 M (4)
15651번 - N과 M (3)
15650번 - N과 M (2)
25305번 - 커트라인
25304번 - 영수증
3003번 - 킹, 퀸, 룩, 비숍, 나이트, 폰
15649번 - N과 M (1)
2004번 - 조합 0의 개수
1676번 - 팩토리얼 0의 개수
9375번 - 패션왕 신해빈
1010번 - 다리 놓기
11051번 - 이항 계수 2
11050번 - 이항 계수 1
3036번 - 링
2981번 - 검문
1934번 - 최소공배수
2609번 - 최대공약수와 최소공배수
1037번 - 약수
5086번 - 배수와 약수
1358번 - 하키
1004번 - 어린 왕자
1002번 - 터렛
3053번 - 택시 기하학
2477번 - 참외밭
4153번 - 직각삼각형
3009번 - 네 번째 점
1085번 - 직사각형에서 탈출
11478번 - 서로 다른 부분 문자열의 개수
1269번 - 대칭 차집합
1764번 - 듣보잡
10816번 - 숫자 카드 2
1620번 - 나는야 포켓몬 마스터 이다솜
14425번 - 문자열 집합
10815번 - 숫자 카드
18870번 - 좌표 압축
10814번 - 나이순 정렬
1181번 - 단어 정렬
11651번 - 좌표 정렬하기 2
11650번 - 좌표 정렬하기
1427번 - 소트인사이드
2108번 - 통계학
10989번 - 수 정렬하기 3
2751번 - 수 정렬하기 2
2750번 - 수 정렬하기
22.06.25 ~ 27 부산 먹부림 기록
1436번 - 영화감독 숌
1018번 - 체스판 다시 칠하기
7568번 - 덩치
2231번 - 분해합
2798번 - 블랙잭
11729번 - 하노이 탑 이동 순서
2447번 - 별 찍기 - 10
17478번 - 재귀함수가 뭔가요?
10870번 - 피보나치 수 5
10872번 - 팩토리얼
9020번 - 골드바흐의 추측
4948번 - 베르트랑 공준
1929번 - 소수 구하기
11653번 - 소인수분해
2581번 - 소수
1978번 - 소수 찾기
10757번 - 큰 수 A+B
2839번 - 설탕 배달
2775번 - 부녀회장이 될테야
10250번 - ACM 호텔
2869번 - 달팽이는 올라가고 싶다
1193번 - 분수찾기
2292번 - 벌집
1712번 - 손익분기점
1316번 - 그룹 단어 체커
2941번 - 크로아티아 알파벳
5622번 - 다이얼
2908번 - 상수
1152번 - 단어의 개수
1157번 - 단어 공부
2675번 - 문자열 반복
10809번 - 알파벳 찾기
11720번 - 숫자의 합
11654번 - 아스키 코드
1065번 - 한수
4673번 - 셀프 넘버
15596번 - 정수 N개의 합
4344번 - 평균은 넘겠지
8958번 - OX퀴즈
25083번 - 새싹
Spark Bigdata Pipeline
Spark 3일차
Spark 2일차
1546번 - 평균
Spark 1일차
Hadoop🐘
3052번 - 나머지
2577번 - 숫자의 개수
2562번 - 최댓값
10818번 - 최소, 최대
Linux
MongoDB 조회 문제
MongoDB
1110번 - 더하기 사이클
10951번 - A+B - 4
Oracle 3️⃣
ORACLE 연습용 문제 만들기 숙제
10952번 - A+B - 5
Oracle 2️⃣
2480번 - 주사위 세개
Oracle Day1️⃣
Tensorflow
Big Data
2525번 - 오븐 시계
10871번 - X보다 작은 수
2439번 - 별 찍기 - 2
2438번 - 별 찍기 - 1
11022번 - A+B - 8
11021번 - A+B - 7
2742번 - 기찍 N
2741번 - N 찍기
15552번 - 빠른 A+B
8393번 - 합
10950번 - A+B - 3
9️⃣ 2739번 - 구구단
2884번 - 알람 시계
14681번 - 사분면 고르기
⛏크롤링(Crawling)
2753번 - 윤년
Django 복습 4️⃣
Django 복습 3️⃣
💯 9498번 - 시험 성적
1330번 - 두 수 비교하기
✖ 2588번 - 곱셈
➗ 10430번 - 나머지
Django 복습 2️⃣
Django 복습 1
MySQL 복습!
⁉10926번 - ??!
🆎1008번 - A/B
👩🦲 18108번 - 1998년생인 내가 태국에서는 2541년생?!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🎈✨경 축✨🎈
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
선형 자료구조(1일차에 이어서)
🆎10998번 - A×B
🆎1001번 - A-B
🆎1000번 - A+B
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐶10172번 - 개
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
🐱10171번 - 고양이
[해당 포스트는 유튜버 나동빈님의 영상을 참고했습니다.]
❤10718번 - We love kriii
🖐2557번 - Hello World
Today I Learned(TIL)📌 (2021.12.31)
Today I Learned(TIL)📌 (2021.12.30)
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!
[noitce!!] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!