[Python] array Class

반응형
반응형

array 모듈을 이용한 array 사용법입니다. 

거의 쓰이진 않지만 numpy의 nd.array를 좀 더 이해할 수 있을것 같아서 정리를 해봅니다.

 

array 만들기

array를 만들어보겠습니다.

array를 만들려면 리스트가 필요합니다.

리스트 하나를 만들고 만들어보겠습니다.

import array
v = [1.0,2.0,3.0,4.0,5.0]
a= array.array('f',v)
a

v라는 리스트를 array로 바꾸었습니다. 'f'는 float을 의미합니다.

array는 데이터타입을 결정해주어야 합니다.

데이터 타입은 다음과 같이 나타냅니다.

Type code C Type Minimum size in bytes
'b' signed integer 1
'B' unsigned integer 1
'u' Unicode character 2
'h' signed integer 2
'H' unsigned integer 2
'i' signed integer 2
'I'(대문자 i) unsigned integer 2
'l'(소문자 L) sgined integer 4
'L' unsigned integer 4
'q' signed integer 8
'Q' unsigned integer 8
'f' floating point 4
'd' floating point 8

위 표는 jupyter에서 Shift+Tap을 하면 자세히 나와있습니다.

type code를 막 쓸 수도 없는게 리스트가 만들어진 타입이 아니면 안됩니다.

 

l로 하라고 했더니 float인것을 할 수 없다고 합니다.

 

array 원소 추가

array는 원소추가하는 방법이 append, extend 가 있습니다.

다른 타입을 넣을 수 없고 같은 타입의 데이터만 추가할 수 있습니다.

a.append(6.0)
a

a.extend([7.0,8.0])
a

둘의 차이점은 append는 원소를 하나씩 넣을 수 있고 extend는 원소 하나 이상을 리스트로 지정하면 넣을수 있습니다.

 

2*a

array에 2를 곱하면 array가 연속적으로 두배가 되어서 나타납니다. 원소가 2개씩 늘어났습니다.

 

 

 

리스트로 다시 돌리고 싶으면 tolist()를 하면 됩니다.

a.tolist()

 

array 저장

array를 실제 파일로 저장해보겠습니다.

open을 이용해서 할 수 있습니다.

with open('array.apy','wb') as f:
    a.tofile(f)

 

탐색기에서 찾아보면 해당파일이 있는 것을 볼 수 있습니다.

 

 

array 불러오기

b = array.array('f')
with open('array.apy','rb') as f:
    b.fromfile(f,5)
b

b에 5개원소만 불러오라고 요청했고 5개의 원소로 된 array가 되었습니다.

 

 

기본 array에 대해서 알아보았는데요. 많이 유용하진 않아보이긴 합니다. 

기본 array보다는 numpy.array 가 좀 더 특화되고 편해진 방법인 걸 알 수 있었던 시간이었습니다.

 

 

관련 포스팅 

[Python/Numpy] - Numpy 란?

[Python/Numpy] - ndarray 생성하기

[Python/Numpy] - ndarray 생성(2) random모듈

 

데이터목장님의
글이 좋았다면 응원을 보내주세요!

Designed by JB FACTORY