Python pandas의 기초에 대한 이야기를 했는데요.[바로가기] 그 후에 살짝꿍... 응용 예제 하나 적어볼까 해요^^. 사실 IPython 환경에서 Python을 사용하면서 pandas와 같은 모듈을 이용하는 건 역시 데이터를 빠르게 분석하고 이를 도식화 혹은 그래프로 표현하여 상황을 파악... 그것도 빨리~ 파악하는데 사용하는 것이 제맛이죠^^.
- Python Pandas
- 기초스러운 Series 사용법
- Python Pandas
- 기초스러운 DataFrame 사용법
- Python Pandas
- Python pandas를 이용한 저장된 파일에서 읽은 데이터를 쉽게 사용하기
- Python Pandas
- Python Pandas를 이용해 분석한 데이터를 그래프로 표현하기...
- Python Pandas
- Pandas pivot_table과 groupby, cut 사용하기
언제나 그렇듯 pandas를 import해야죠... 흠.. 생각해보니 numpy는 사용하지 않았는데.. 습관처럼 import 해버렸네요ㅠㅠ.
설명을 위해 임의의 화일이 하나 있다고 보죠~~ 이름은 sample1.txt입니다. 이걸 pd.read_table로 읽을 수 있습니다. 왠만한 모니터링 환경에서 저장된 raw 데이터 화일이라면 그냥 다 읽습니다.^^. 그걸 확인했더니... 뭔가 필요없는 columns가 하나 보이네요. 아마 문장의 끝을 알려주는 부분을 인식한 모양입니다. 뭐 그냥 놔둬도 상관은 없을 수 있지만... 그냥 연습삼아 columns하나 삭제해볼까요^^
일단 columns속성에서 이상한 아이를 발견했네요^^ 이름을 확인해야하니까요^^
그 아이를 drop 속성에서 axis=1을 주고 삭제 할 수 있습니다. 깔끔하네요^^
사실 raw 데이터의 index는 시간입니다. 단위는 10kHz에서 샘플링되었으니 10kHz의 역수겠지요. 그레서 time이라는 열을 만들고 시간축을 만들어 넣었습니다. 일단 rawData는 잘 건들지 않는 습관을 가지는게 이렇게 분석할때는 좋아요~~^^ 그리고 지금에서야 이야기하지만.. 위 그래프는 어떤 장치의 전류를 측정한 파일이랍니다. 그래서 인덱스를 바꿀까 하다가.. raw 데이터는 놔두고 그냥 current라는 열을 만들어봤네요^^
그리고 난 다음.. 새로운 DataFrame에 current를 넣구요... index는 time으로 지정해 주었습니다.
pandas에서 바로 plot()속성을 이용하면 그래프를 그릴 수 있습니다. 그것도 라벨에 범례(legend)까지 붙여서 말이죠^^. 참 고맙습니다.^^. 그런데 이번에는 아까 tmpRawData 상태에서 바로 그려볼께요^^
직접 x축과 y축을 지정할 수 있습니다. 그리고 관심있는 한 영역만 확대(xlim, ylim)하고, 이럴때는 legend가 의미가 없으니 꺼두는 거죠^^. 그나저나 저 전류가 오버슈트가 있네요..ㅠㅠ 뭐 아무튼... 오늘은 이렇게 파일로 저장된 데이터를 pandas를 이용해서 쉽게 읽어들여서 살짝 가공한 다음 아~~~주 쉽게 그래프로 표현하는 예제를 하나 보여드렸습니다.^^
'Software > Python' 카테고리의 다른 글
Python을 이용한 위치에서 속도를 구하는 여러가지 방법에 대한 예제 (7) | 2015.08.26 |
---|---|
Python Pandas를 이용해 분석한 데이터를 그래프로 표현하기... (6) | 2015.08.06 |
Python - IPython에서 구현하는 저역통과필터 Low Pass Filter (14) | 2015.05.15 |
Python Pandas 기초 - 기초스러운 DataFrame 사용법 (14) | 2015.04.29 |
Python Pandas 기초 - 기초스러운 Series 사용법 (12) | 2015.04.22 |
Python numpy 기초 - 선형대수학 풀어보기 (22) | 2015.04.07 |
Python numpy 기초 - 기초 집합 연산 (6) | 2015.04.05 |