🙆♂️ CSV
csv 파일 형식은 데이터 교환에 널리 사용되는 방식ㅇ빈디ㅏ.
csv 모듈을 제공하니 import 하여 사용할 수 있습니다.
import csv
그전에 해당 폴더에 data.csv를 만들고
🚀 작성하기
with open('data.csv', 'w') as f:
csv.writer(f).writerows(zip(t, v))
이렇게 작성하면 data.csv에 t값과 v값이 작성됩니다.
🚀 csv 불러오기
with open('data.csv') as f:
reader = csv.reader(f)
tnew, vnew = zip(*[[float(val) for val in row] for row in reader if row])
tnew 변수와 vnew 변수를 통해서 csv에 저장되어 있었던 값들을 불러올 수 있습니다.
정확하게 그려지는 모습입니다.
🚀 plotnine과 pandas로 불러오기
plotnine과 pandas는 파이썬의 데이터 과학의 핵심 구성요소 입니다.
먼저 Jupyter notebook의 터미널을 이용해서 plotnine을 설치해줍니다.
pip install plotnine
이를 통해서 로드해보면
import plotnine as p9
import pandas as pd
먼저 모듈을 import 하고
data = pd.read_csv('data.csv', header=None, names=['t', 'v'])
pandas의 기능을 통해 간단한 코드로 data.csv의 데이터를 불러오고
g = (p9.ggplot(data, p9.aes(x='t', y='v')) + p9.geom_path()).draw()
plotnine의 기능을 통해서 그래프를 그려보면
잘 그려집니다.
ggplot 버전의 그래프라고 합니다.
🙋♂️ JSON
JSON 또한 데이터 교환을 위해 사용되는 파일 형식으로 많이 사용되고 있습니다.
파이썬에서도 JSON 파일 읽고 쓰는 것을 모듈로 제공해줍니다.
import json
모듈을 import 해주고 정보저장을 할 data.json 파일을 작성합니다.
🚀 작성하기
with open('data.json', 'w') as f:
json.dump({'t': list(t), 'v': list(v)}, f, indent=4)
해당 코드를 실행해보면
data.json파일 안에 시간값과 벡터값이 저장되어 있습니다.
🚀 불러오기
with open('data.json') as f:
data = json.load(f)
tnew = data['t']
vnew = data['v']
json의 불러오기가 더 직관적인 것 같은 느낌이네요. 이렇게 변수를 지정해줘서 해당 딕셔너리 값을 넣고
plt.figure()
plt.plot(tnew, vnew)
plt.xlabel('t (ms)')
plt.ylabel('v (mV)')
plt.show()
그래프로 만들어서 출력해보면
잘 그려집니다.
🙋♂️ Pickles
피클이라는 파이썬 교유의 데이터 교환 방식을 사용해보겠습니다.
import pickle
pickle 모듈을 import 하고 파일하나를 생성하는데 확장자가 p인 data.p 파일을 생성합니다.
🚀 작성하기
with open('data.p', 'wb') as f:
pickle.dump({'t': t, 'v': v}, f)
pickles는 파이썬에 specific하기 때문에 JSON과 다르게 뉴런 벡터 객체를 인코딩할 수 있어서
깔끔하게 코드가 작성됩니다.
🚀 불러오기
with open('data.p', 'rb') as f:
data = pickle.load(f)
tnewp = data['t']
vnewp = data['v']
JSON과 비슷한 방식으로 불러올 수 있습니다.
그리고 pickles는 바이너리 파일이여서 쓸 때는 wb로 설정하고 불러올 때는 rb로 설정해줘야 합니다.
그래프도 잘 그려집니다.
'AI > neuron' 카테고리의 다른 글
[neuron][파이썬] 11. 섹션 연결 - Connect the sections (0) | 2022.07.21 |
---|---|
[neuron][파이썬] 10. 여러 섹션 만들기 - Create the sections (0) | 2022.07.21 |
[neuron][파이썬] 08. 결과 표시 - Plot the results (0) | 2022.07.20 |
[neuron][파이썬] 07. 시뮬레이션 실행 - Run the simulation (0) | 2022.07.20 |
[neuron][파이썬] 06. 기록 변수 설정 - Set up recording variables (0) | 2022.07.20 |