Python에서 데이터 분석을 할 때 가장 편리한 것이 Pandas 라이브러리이고 가장 많이 사용하는 것이 Dataframe(2차원) 객체라고 이야기 하면서,
정작 필요할 때는 인터넷 검색으로 처음부터 다시 시작하고 있다는 것을 느끼고,
필수 적인것을 쓸 때마다 정리
1. Dataframe은 무엇인가: 2차원 배열로 row값(index), column값(header)를 가질 수 있는 자료구조, Pandas 라이브러리에 있다.
2. 어떻게 사용하는가 (
① ~ ④ )
① '
import pandas
as pd' 라고 선언한 후에 사용한다.
② 아래와 같이
df 를 만든다.
In [1]:
In [2]:
Out[2]:
DatetimeIndex(['2016-07-14', '2016-07-15', '2016-07-16', '2016-07-17',
'2016-07-18', '2016-07-19', '2016-07-20', '2016-07-21'],
dtype='datetime64[ns]', freq='D')
In [3]:
Out[3]:
| A | B | C | D |
2016-07-14 | -0.184950 | -0.806392 | 1.494103 | -0.369560 |
2016-07-15 | 0.399724 | -0.063784 | -0.056321 | -0.007364 |
2016-07-16 | -0.626461 | -0.423751 | -0.018703 | 0.087733 |
2016-07-17 | 1.198658 | -1.532482 | -0.298002 | 0.634820 |
2016-07-18 | 0.312076 | -0.673361 | -0.141319 | -1.169763 |
2016-07-19 | -0.119623 | -0.293787 | -0.592312 | -1.167606 |
2016-07-20 | -0.158141 | 2.559673 | 0.949287 | -1.461863 |
2016-07-21 | 1.042477 | 0.968977 | 0.050709 | 1.789358 |
③ 컬럼 A 에 접근하는 방법은 여러가지가 있다.
In [4]:
Out[4]:
2016-07-14 -0.184950
2016-07-15 0.399724
2016-07-16 -0.626461
2016-07-17 1.198658
2016-07-18 0.312076
2016-07-19 -0.119623
2016-07-20 -0.158141
2016-07-21 1.042477
Freq: D, Name: A, dtype: float64
In [5]:
Out[5]:
2016-07-14 -0.184950
2016-07-15 0.399724
2016-07-16 -0.626461
2016-07-17 1.198658
2016-07-18 0.312076
2016-07-19 -0.119623
2016-07-20 -0.158141
2016-07-21 1.042477
Freq: D, Name: A, dtype: float64
In [6]:
Out[6]:
2016-07-14 -0.184950
2016-07-15 0.399724
2016-07-16 -0.626461
2016-07-17 1.198658
2016-07-18 0.312076
2016-07-19 -0.119623
2016-07-20 -0.158141
2016-07-21 1.042477
Freq: D, Name: A, dtype: float64
④ 컬럼의 값으로 필터를 하려면 df 에 boolean(true, false) array를 주면 true만 볼 수 있다.
아래 코드는 A 컬럼의 값이 0 보다 작을 경우만을 필터하여 보여준다.
In [7]:
Out[7]:
2016-07-14 True
2016-07-15 False
2016-07-16 True
2016-07-17 False
2016-07-18 False
2016-07-19 True
2016-07-20 True
2016-07-21 False
Freq: D, Name: A, dtype: bool
In [8]:
Out[8]:
| A | B | C | D |
2016-07-14 | -0.184950 | -0.806392 | 1.494103 | -0.369560 |
2016-07-16 | -0.626461 | -0.423751 | -0.018703 | 0.087733 |
2016-07-19 | -0.119623 | -0.293787 | -0.592312 | -1.167606 |
2016-07-20 | -0.158141 | 2.559673 | 0.949287 | -1.461863 |