■ Pandas 의 Series/DataFrame 선택(& slice) 시 loc, iloc, ix 메소드 활용
Pandas의 Series 와 DataFrame의 element, row, column들을 선택하는 방법이 여러 가지.
- 기본 Python list와 같은 sequence 타입 경우와 헷갈리기도 하고, 또 R과 헷갈리기도 함.
- DataFrame 경우 가장 간단히 한 개의 column을 선택하려면
DataFrame_name.column_name 이 유용
- 다른 경우에는 가능한 일관되게 iloc(), loc(), ix() 메소드들 씀이 좋음. 이 방법들은 R에서의 selection과도 흡사.
- iloc(), loc(), ix() 의 사용법 : http://stackoverflow.com/questions/31593201/pandas-iloc-vs-ix-vs-loc-explanation
간단히 :
iloc() 은 row나 column 을 지정할 때 위치에 따라 0, 1, 2, .... integer 숫자로 지정
loc()은 row나 column 을 지정할 때 index의 label에 의해
ix() 는 편리하지만 조심해야. 기본적으로 loc()같이 동작하나 만약 label이 없으면 iloc()으로 동작. 위 url 참고
* 주의: Pandas에서 integer로 된 index도 label로 해석할 수 있음
- iloc() 은 integer 위치로 indexing하기에 df_name[[0:5],:] 같이 slice 하면 기본 python같이 0, 1, 2, 3, 4 번째 row를 지정한 것. 반면,
- loc()을 이용해 integer로 된 index를 [0:5, :] 같이 slice하면 0, 1, 2, 3, 4, 5 label의 row까지 선택한 것.
'Learning & Reasoning > Python - Scikit-learn_Tensorflow' 카테고리의 다른 글
ISLR - Introduction to Statiscal Learning with application in R - 에 부쳐 (0) | 2016.10.21 |
---|---|
Python Numpy 단편 - 1D array를 2D array의 vector로 변환 (0) | 2016.09.30 |
IPython/Jupyter Notebook 단편 (notes) (0) | 2016.09.29 |
Semantic/Frame Net (0) | 2016.05.27 |
Python Noobie (0) | 2015.09.20 |