본문 바로가기
  • CatRxnEng
Data Analysis (Python)

For Beginners #2 (Python)

by CatRxnEng 2023. 11. 17.

파이썬 프로그램을 준비하였다면, 데이터 처리를 위한 기본 사항을 익혀두도록 하자. 

실험 데이터를 처리하기 위한 목표로 파이썬을 활용하기로 하였으니, 데이터 처리의 기본인 dimension을 맞출 수 있도록, 데이터의 사칙연산이 가능한지를 확인하여 보자.  

 

우선, A_data 라는 값을 입력해 보자. A_data = [0, 1.0, 2.0, 3.0, 5.0, 10.0] 이라는 문구를 입력하여, A_data 라는 이름속에 [0, 1.0, 2.0, 3.0, 5.0, 10.0] 이 입력되도록 한다.  

(참고로, 상단 메뉴바에 Edit, Insert, Cell 등의 내용속에 다양한 단축키가 있으니, 라인을 입력/복사, 명령의 수행 등을 할 때 활용할 수 있도록 하자.) 

그리고 A_data 에 1을 더하여 보자. A_data 에 1을 더하여 A_data_1 에 저장하라는 문구를 입력한다. 그리고 실행 (Alt + Enter)  

그러면, 위와 같이 TypeError 라는 것이 뜬다. 'can only concatenate list (not "int) to list' 라는 에러의 내용을 알려준다. 간단히 얘기하면, 입력한 내용 [0, 1.0, 2.0, 3.0, 5.0, 10.0] 에 단순히 숫자 1을 더하여 원하고자하는  [1, 2, 3, 4, 6, 11] 을 나타낼 수 없다는 말이다.

(상세하게는 list 라는 형태에 list 형태 이외에 int (숫자)를 합쳐 표시할 수 없다는 말이다) 

이제 그 방법을 알아보자.

 

우선, 사칙연산이 가능하도록 데이터의 형태를 변형하는 작업이 필요하다. 복잡한 얘기는 생략하고, 사칙연산을 하려면 아래와 같이 입력하여 실행하여 본다. 

 

"import numpy as np" 를 입력하여 실행 (Alt + Enter) 하고,

[0, 1.0, 2.0, 3.0, 5.0, 10.0] 앞에 np.array 라는 문자를 넣고 ( ) 를 활용하여 묶여두자. 그리고 이 값을 A_data_np에 저장하도록 한다. 내친김에 A_data_np 에 1을 더하여 A_data_np_1에 저장하기까지 실행해보자.

그리고 A_data_np_1 에 어떤 값이 들어 있는지 확인하여 본다. 

'array([1., 2., 3., 4., 6., 11.])' 의 Out[7] 에 출력된 값을 확인할 수 있다. 덧셈이 가능해진 것이다! 

 

초기에 입력한 [0, 1.0, 2.0, 3.0, 5.0, 10.0] 값이 시간의 단위인 minute 이라면, 

second로 환산하기 위해 60 을 곱하여 활용하여야 할 것이고, 

반응을 시작한 후 시간이 1분 지연 되었다면, 1분의 값을 더하여야 할 터이니,

데이터의 dimension을 맞추거나 실제값을 잘 표현하기 위해서는 사칙연산은 반드시 필요한 사항이다. 

단순한 사칙연산 외에도 모든 공학적 계산이 가능하니, 계산이 필요한 경우 numpy 라는 것을 이용하도록 하자.  

 

Numpy는 수치 계산을 위한 라이브러리 정도로 이해해 두고, 데이터의 변형이 필요한 경우 numpy라는 문구를 넣어 'numpy로 사용할게요~' 라고 지정하여 주자. 입력문자의 개수가 많으니 np 로 축약하여 사용하겠다고 'import numpy as np' 형태로 numpy를 불러온 것이다.  

즉, numpy 로 활용하는 값임을 지정하기 위해 np.array 라는 문구를 사용하였다 정도로만 이해하고 넘어가자.