본문 바로가기
카테고리 없음

[Python] 다시보기 Part 2.

by 챠챠12 2021. 12. 2.

-  Part 1 요약

  • 딕셔너리 : 짝이 있는 모임( key, value ) 
  • 모듈 : 특정 목적을 가진 함수, 자료의 모임
  • 튜플 : 여러 자료를 다같이 담는 자료형

1. 모듈 사용하기

import 모듈이름(ex. random)

# 모듈.함수

>> random.randrange(10, 20) # 10 이상 20미만의 수 중 임의로 출력 # range( 10, 20 ) 비슷..

# 파이썬 파일로 모듈 만들 수 있다.

 

2. 패키지

: 모듈을 폴더로 구분하여 편리하게 관리하기 위해서

from random import randrange

 randrange(10, 20)

import random

 random.randrange(10, 20)

 

from-import 사용 : 함수/변수 사용시 .를 써주지 않아도 된다.

 

3. 넘파이 numpy

: 대규모 다차원 배열을 다룰 수 있게 해주는 라이브러리

데이터 부분을 숫자배열로 보고 처리하기 때문에 넘파이를 공부해야된다. 

반복문 없이 처리가능해서 빠른연산과 메모리 효율적 사용가능하다 ( list < numpy )

 

import numpy as np. # np 별칭

num_arry = no.array(range(3)) # [ 0 1 2 ] 공백 구분 => 배열 =>  class numpy.ndarray(n차원)

list_arry = list(range(3)) # [ 0, 1, 2 ] 콤마구분 => 리스트 => class list(1차원)

 

4. 배열 dtype

리스트 : 다양한 데이터 타입 가능

배열(넘파이) : 같은 데이터 타입만 가능

int    정수형 타입 표현 : i, int_

float 실수형타입 표현 : f, float_ 

str    문자열타입 표현 : str, U

bool 부울타입    표현 : ?, bool_

 

ndarray 차원 속성 : ndim(n차원) , shape(모양)

 

5. 인덱싱 : 데이터 찾기

i = np.arrange(4) # [0 1 2 3 ] 0은 0번째 문자

print(i[2]) # 2

i[1] = 999 # [0 999 2 3 ]

 

j  = np.arrange(1, 9, 1) # 1부터 8까지 1증가하는 2차원 배열

j.shape = 4, 2  # 4X2배열

# [ [ 1 2 3 4 ]

      [ 5 6 7 8] ]

print( j[1, 3 ]) # 8

 

슬라이싱 : 인덱스의 값 즉, 배열의 일부분 갖고 옴

i = np.arrange(4) # [0 1 2 3 ]

print( i[1:3]) # [1 2]

print( i[:: 2]) #2간격씩 [0 2] 

 

# [ [ 1 2 3 4 ]

      [ 5 6 7 8] ]

print(j[1:

 

6. 부울 인덱싱 

: 조건에 맞는 데이터를 갖고옴

: 참 거짓 알려줌 

 

7. fancy 인덱싱

찾고 싶은 자리 = 인덱스에 어떤 값이 있는지

matrix = np.arange(1, 13, 1).reshape(3, 4)
print(matrix)

# 1. Indexing을 통해 값 2를 출력해보세요.
answer1 = matrix[0:1, 1]

# 2. Slicing을 통해 매트릭스 일부인 9, 10을 가져와 출력해보세요.
answer2 = matrix[2:3, :2]

# 3. Boolean indexing을 통해 5보다 작은 수를 찾아 출력해보세요.
answer3 = matrix[ matrix < 5]

# 4. Fancy indexing을 통해 두 번째 행만 추출하여 출력해보세요.
answer4 = matrix[[1]]

 

 

LIST

댓글