최댓값 최소값

import numpy as np

array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5])

print(array1.max()) # 최댓값
print(array1.min()) # 최솟값
31
5

 

평균값

import numpy as np

array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5])

print(array1.mean()) # 평균값
15.25

 

 

중앙값

import numpy as np

array1 = np.array([8, 12, 9, 15, 16])
array2 = np.array([14, 6, 13, 21, 23, 31, 9, 5])

print(np.median(array1)) # 중앙값
print(np.median(array2)) # 중앙값
12.0
13.5

 

표준편차 분산

import numpy as np

array1 = np.array([14, 6, 13, 21, 23, 31, 9, 5])

print(array1.std()) # 표준 편차
print(array1.var()) # 분산
8.496322733983215
72.1875

'데이터 분석 > numpy' 카테고리의 다른 글

4. numpy 불린 연산  (1) 2024.06.03
3. numpy 기본 연산  (0) 2024.06.03
2. 인덱싱 슬라이싱  (0) 2024.06.03
1. array 생성하기 및 모듈 별명 지어주기  (0) 2024.06.03
import numpy as np
array1 = np.array([2, 3, 5, 7, 11, 13, 17 ,19 , 23, 29, 31])

 

array1 요소가 4보다 크면 True

array1 > 4
array([False, False,  True,  True,  True,  True,  True,  True,  True,
        True,  True])

 

array1 요소가 2로 나누었을때 나머지가 0이면 True

array1 % 2 == 0
array([ True, False, False, False, False, False, False, False, False,
       False, False])

 

where

np.where

np.where 함수는 조건을 만족하는 요소의 인덱스를 반환합니다.

 

True값 인덱스 찾기

np.where(condition)

booleans = np.array([True, True, False, True, False, True])
np.where(booleans) #(array([0, 1, 3, 5]), )

 

 

array1 > 4
array([False, False,  True,  True,  True,  True,  True,  True,  True,  True,  True])

 

4보다 큰 값이 있는 인덱스만 가져오기

np.where(array1 > 4)
(array([ 2,  3,  4,  5,  6,  7,  8,  9, 10]),)

 

 

filter

파이썬에서 filter가 이미 내장 함수로 정의되어 있다는 의미는, 파이썬이 기본적으로 제공하는 표준 라이브러리에 filter라는 이름의 함수가 포함되어 있다는 것입니다. 이 내장 함수는 주어진 조건을 만족하는 요소들을 걸러내기 위해 사용됩니다.

 

파이썬 내장 함수 'filter'

filter(function, iterable)

 

파이썬 내장 함수 filter는 두 개의 인수를 받습니다:

  • function: 각 요소에 대해 참(True) 또는 거짓(False)을 반환하는 함수.
  • iterable: 리스트, 튜플, 문자열 등 반복 가능한 객체.

filter 함수는 반복 가능한 객체의 각 요소에 대해 주어진 함수를 적용하여 참을 반환하는 요소들만 걸러낸 새로운 반복자를 반환합니다.

 

# 짝수를 필터링하는 함수
def is_even(num):
    return num % 2 == 0

# 리스트에서 짝수만 필터링
numbers = [1, 2, 3, 4, 5, 6]
filtered_numbers = filter(is_even, numbers)

print(list(filtered_numbers))  # 출력: [2, 4, 6]

 

변수 이름으로 filter 사용하지 않기

파이썬 내장 함수의 이름을 변수 이름으로 사용하는 것은 권장되지 않습니다.

내장 함수 이름을 변수 이름으로 사용하면 그 함수에 접근할 수 없게 되며, 코드의 가독성을 떨어뜨릴 수 있습니다.

 

array1 = np.array([1, 2, 3, 4, 5, 6])

# array1의 요소 중 4보다 큰 요소의 인덱스를 찾음
filter_indices = np.where(array1 > 4)

print(filter_indices)  # 출력: (array([4, 5]),)

여기서 filter_indicesarray1의 요소 중 4보다 큰 값(즉, 5와 6)의 인덱스를 포함하는 배열을 반환합니다. np.where는 조건을 만족하는 인덱스를 반환하므로, 이를 활용하여 조건을 만족하는 요소를 선택할 수 있습니다.

'데이터 분석 > numpy' 카테고리의 다른 글

5. numpy 기본 통계  (0) 2024.06.03
3. numpy 기본 연산  (0) 2024.06.03
2. 인덱싱 슬라이싱  (0) 2024.06.03
1. array 생성하기 및 모듈 별명 지어주기  (0) 2024.06.03
import numpy as np
array1 = np.arange(10)
array2 = np.arange(10, 20)
array1 #array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
array2 #array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19])

 

 

모든 값에 2곱하기

array1 * 2 #array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

 

모든 값에 2나누기

array1 / 2 #array([0. , 0.5, 1. , 1.5, 2. , 2.5, 3. , 3.5, 4. , 4.5])

 

모든 값에 2 더하기

array1 + 2 #array([ 2,  3,  4,  5,  6,  7,  8,  9, 10, 11])

 

모든 값에 제곱하기

array1 ** 2 #array([ 0,  1,  4,  9, 16, 25, 36, 49, 64, 81])

 

변수에 지정해야 연산이 저장된다.

array1 = array1 * 2
array1 #array([ 0,  2,  4,  6,  8, 10, 12, 14, 16, 18])

 

array1 = np.arange(10)
array2 = np.arange(10, 20)
array1 + array2 #array([10, 12, 14, 16, 18, 20, 22, 24, 26, 28])
array1 * array2 #array([0, 11, 24, 39, 56, 75, 96, 119, 144, 171])
array1 / array2

'데이터 분석 > numpy' 카테고리의 다른 글

5. numpy 기본 통계  (0) 2024.06.03
4. numpy 불린 연산  (1) 2024.06.03
2. 인덱싱 슬라이싱  (0) 2024.06.03
1. array 생성하기 및 모듈 별명 지어주기  (0) 2024.06.03
import numpy as np
array1 = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])

 

array1[0] #0
array1[2] #2
array1[-1] #15
array1[-2] #14

 

1, 3, 4번 인덱스만 가져오기

array1[[1, 3, 4]] # 1번, 3번, 4번 인덱스만 가져옴

 

 

array2 생성

array2 = np.array([2, 1, 3])

 

array1을 array2로 인덱싱하기

array1[array2] # 2번, 1번 3번 인덱스만 가져옴
array1[2:7] # 2번, 7(7-1)번 인덱스 전까지 가져옴
array1[0:7] # 0부터 7(7-1)번 인덱스 전까지 가져옴
array1[:7] # 0부터 7 (7-1)번 인덱스까지 가져옴
array1[2:] #2번 인덱스부터 끝까지 가져옴
array1[2:11:2] # 2번 인덱스부터 10까지 2씩 증가하며 가져옴 2, 4, 6, 8, 10

'데이터 분석 > numpy' 카테고리의 다른 글

5. numpy 기본 통계  (0) 2024.06.03
4. numpy 불린 연산  (1) 2024.06.03
3. numpy 기본 연산  (0) 2024.06.03
1. array 생성하기 및 모듈 별명 지어주기  (0) 2024.06.03

Numpy

 

1. 목적 및 사용 용도

Numpy는 파이썬에서 데이터 처리를 위해 널리 사용되는 라이브러리

 

목적 : 주로 수치 연산과 과학적 계산을 위한 라이브러리

사용 용도 : 고성능 다차원 배열 객체인 'ndarray'를 사용하여 벡터화된 수치 연산을 수행. 주로 행렬연산, 선형대수, 통계, 수학적 함수 등에서 사용된다.

구조 : 넘파이 배열은 동일한 데이터 타입을 가지며, 다차원 배열을 효율적으로 처리할 수 있다.

 

2. 주요 데이터 구조

  • ndarray: N차원 배열 객체로, 동종 데이터(모든 요소가 같은 데이터 타입)를 저장합니다. 고성능 수치 연산을 위한 다양한 함수와 메서드를 제공합니다.

3. 데이터 조작 및 기능

  • 주로 수학적 연산에 중점을 둡니다. 배열 간의 연산, 선형 대수 연산, Fourier 변환 등 고성능 수치 연산을 지원합니다.
  • 브로드캐스팅 기능을 통해 배열 간의 연산을 효율적으로 수행할 수 있습니다.

4. 성능

  • 메모리 효율성과 연산 속도 면에서 매우 우수합니다. 대규모 수치 연산에 적합합니다.
  • 벡터화된 연산을 통해 반복문을 최소화하고 빠른 계산을 수행합니다.

 

요약

  • 넘파이는 주로 수치 연산 및 과학적 계산에 사용됩니다.
  • 넘파이는 동일한 데이터 타입의 다차원 배열을 처리하는 데 강점

 

import numpy

 

 

- 파이썬 리스트를 통해 생성

numpy 모듈의 array 메소드에 파라미터로 파이썬 리스트를 넘겨주면 numpy array가 리턴됩니다.

 

1차원 array생성

array1 = numpy.array([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31])
print(array1) # [ 2  3  5  7 11 13 17 19 23 29 31]

 

타입 확인

print(type(array1)) # <class 'numpy.ndarray'>
<class 'numpy.ndarray'>

 

요소 확인

print(array1.shape) # (11,) 11개의 요소가 있다.

 

 

 

2차원 array 생성

array2 = numpy.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(array2)
print(array2.shape) # (3, 4) 행:3 열:4
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
(3, 4)

 

 

요소의 개수 출력

print(array1.size) # 11
print(array2.size) # 12

 

 

 

균일한 값으로 array생성

numpy.full(생성할 개수, 입력할 값)

array1 = numpy.full(6, 7)

print(array1) # [7 7 7 7 7 7]

 

 

 

모든 값이 0인 numpy array 생성

numpy.zeros(6, dtype=int)

array1 = numpy.full(6, 0)
array2 = numpy.zeros(6, dtype=int)

print(array1)
print()
print(array2)
[0 0 0 0 0 0]

[0 0 0 0 0 0]

 

모든 값이 1인 numpy array 생성

numpy.ones(6, dtype=int)

array1 = numpy.full(6, 1)
array2 = numpy.ones(6, dtype=int)

print(array1)
print()
print(array2)
[1 1 1 1 1 1]

[1 1 1 1 1 1]

 

랜덤한 값들로 생성

array1 = numpy.random.random(6)
array2 = numpy.random.random(6)

print(array1)
print()
print(array2)
[0.03324978 0.12104063 0.59124917 0.40598322 0.51654182 0.18895607]

[0.89759737 0.35333745 0.53036455 0.61011018 0.39151271 0.78917448]

 

 

 

연속된 값들이 담긴 numpy array생성

# 파라미터 1개
array1 = numpy.arange(6)
print(array1) # [0 1 2 3 4 5]


# 파라미터 2개
array1 = numpy.arange(2, 7)
print(array1) # [2 3 4 5 6]

# 파라미터 3개
# arange(n, m, s)를 하면 n부터 m-1까지의 값들 중 간격이 s인 값들이 담긴 numpy array가 리턴됩니다.
array1 = numpy.arange(3, 17, 3)
print(array1) #  [3  6  9 12 15]

 

모듈 별명 지어주기

as 뒤에 별명을 지어준다.


- 넘파이(Numpy)의 모듈 별명은 주로 np입니다. 이는 관습적으로 사용되는 별명

import numpy as np

array1 = np.full(6,0)
array2 = np.zeros(6)
array3 = np.full(6,6)
array4 = np.ones(9)
array5 = np.random.random(6)
array6 = np.random.random(10)

'데이터 분석 > numpy' 카테고리의 다른 글

5. numpy 기본 통계  (0) 2024.06.03
4. numpy 불린 연산  (1) 2024.06.03
3. numpy 기본 연산  (0) 2024.06.03
2. 인덱싱 슬라이싱  (0) 2024.06.03

1. 나의 Repositories에서 삭제할 저장소 선택

 

 

 

2. Setting 클릭 후 General에서 맨 아래로 쭉 내려간다.

 

 

3. Danger Zone 에서 Delete this repository

 

 

4. 두 번의 버튼 클릭

 

 

5. 텍스트박스에  " " 안에 쓰여있는 문구를 그대로 복사 붙여넣기 하면된다.

 

 

6. Password 입력까지 완료하면 저장소 삭제가 된다.

 

 

1. 저장소를 들어간 후 Setting 선택

 

2. 왼쪽 메뉴에서 General 선택 후 Default branch

 

2-1) 보라색 버튼을 클릭시 브랜치 명을 변경할 수 있다.

 

master 브랜치를 main으로 이름 변경

 

2-2) 핑크색 버튼 클릭시 default branch를 변경할 수 있다.

I inderstand, update the default branch 버튼 클릭

default 브랜츠가 변경되었다.

저장소 Code를 확인해보면,  잘 수정되어있다.

 

 

commit을 하고 push까지 하였는데, github에 반영이 되지 않았을 때,

다시 push를 하면 이미 업데이트 되어있는 상태라고 한다 !

 

 

 

 


해결방법

 

새로운 커밋 메시지로 커밋 후 다시 push해주면 gihhub에 업데이트가 된다!

 

 

<textarea> 에서 첫 줄에 공백이 생길 때

 

 

 

  • placeholder에 "답글을 작성해주세요..."를 입력했지만 첫 줄 공백때문에 뜨지 않았다.
  • prettier가 자동으로 </textarea>를 내려주어 공백이 생겼다.

 

 

 

이렇게 </textarea>를 딱 붙여주면 놀랍게도 공백이 사라진다..😒

 

 

'컴퓨터 비전 > HTML' 카테고리의 다른 글

HTML  (0) 2023.12.16

 

이 에러는 일반적으로 로컬 저장소의 변경 사항을 원격 저장소에 푸시하려고 할 때 발생합니다.

 

 

발생이유

  1. 충돌(conflicts): 로컬 저장소와 원격 저장소의 변경 사항이 충돌할 때 발생합니다. 이 경우 충돌을 해결하고 다시 시도해야 합니다.
  2. 권한 부족(permission issues): 원격 저장소에 푸시할 권한이 없는 경우 발생합니다. 이 경우 저장소 관리자에게 권한을 요청해야 합니다.
  3. 원격 저장소가 최신 상태가 아닌 경우: 로컬 저장소와 원격 저장소의 버전이 일치하지 않을 때 발생합니다. 이 경우 원격 저장소를 업데이트하고 다시 시도해야 합니다.
  4. 파일 크기 제한(file size limit): 일부 원격 저장소는 푸시되는 파일의 크기에 제한을 둘 수 있습니다. 파일 크기가 제한을 초과하는 경우 이 에러가 발생할 수 있습니다.
  5. 인터넷 연결 문제: 푸시하는 동안 인터넷 연결이 끊어진 경우에도 이 에러가 발생할 수 있습니다.

 

 


해결방법

 

1. git pull

2. git commit - m " 메시지 "

3. git push 

 

pull을 받은 후 다시 커밋하고 푸쉬하면 된다!