문자열을 포함하는 데이터에서도 숫자만 꺼내 손쉽게 시각화

2491 단어 파이썬matplotlib
실험 데이터 등을 가시화하고 싶지만 index나 columns가 문자열로 취급하기 힘들다고 생각한 경험은 있네요.

예를 들면 이런 식으로 전계하에서의 신호 측정을 온도를 바꾸어 플롯한 것 같은 데이터가 해당됩니다.



120V/mm
100V/mm


214K
1
5

216K
2
6

218K
3
7

220K
4
8


해결하고 싶은 것



그래프를 작성할 때 x 좌표가 되는 배열이 원시 데이터라고 문자열이므로 수치만 꺼내고 싶다.

해결 방법



정규 표현 라이브러리를 사용해 문자의 부분을 지워 버린다.
# 正規表現操作ライブラリ
import re

# re.sub(正規表現パターン, 置換後文字列, 置換したい文字列)
x = [int(re.sub("\\D", "", temperature)) for temperature in data["120V/mm"].index]

y = data["120V/mm"]

re.sub("\D", "", temperature) 부분에서 십진수가 아닌 임의의 문자열을 공백””으로 옮겨놓고 숫자(문자열)만 남기고, int()에 의해 정수값으로 변환함으로써 온도의 수치만을 꺼낸 배열을 작성할 수 있습니다.
print(x) #=>[214, 216, 218, 220]

위와 같은 간단한 방법으로 문자열을 포함하는 데이터도 시각화할 수 있습니다.
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(x,y)

좋은 웹페이지 즐겨찾기