6. DataFrame 인덱싱
Python
2017. 8. 7. 13:43
1. 열 단위 인덱싱
import numpy as np import pandas as pd data = {'year' = [2011, 2012, 2013, 2014, 2015], 'number' = [1,2,3,4,5], 'points' = [1.1,2.2,3.3,4.4,5.5]} df = pd.DataFrame(data, index=['one','two','three','four','five'], columns=['year','number','points','penalty']) #열 단위 인덱싱 df['year'] df.year # 여러값을 인덱싱 가능하다. df['year', 'number'] df[0:3] #특정 열에 값을 대입하는것도 가능하다. df['penalty'] = 0.5 df['penalty'] = [0.1, 0.2, 0.3, 0.4, 0.5] df['penalty'] = np.arange(5) #다른 배열에 있는 값을 넣는것도 가능하다. val = pd.Series([1.1, 2.2, 3.3], index=['two','four','five']) # dobt라는 열을 생성해서 val의 값을 넣는것 # 이때 값이 3개만 들어가는데 index에 맞춰서 two에는 1.1 four에는 2.2 five에는 3.3이 들어가게된다. # 그 외에 명시되지 않은 값들은 NaN(Not a Number)가 들어가게된다. df['dobt'] = val
이 외에도 열끼리의 계산한 값들을 새 열에 추가해서 넣을수도있고
불리언 마스크를 사용하여 새 열에 추가하여 넣을 수도 있다.
2. 행 단위 인덱싱
import numpy as np import pandas as pd data = {'year' = [2011, 2012, 2013, 2014, 2015], 'number' = [1,2,3,4,5], 'points' = [1.1,2.2,3.3,4.4,5.5]} df = pd.DataFrame(data, index=['one','two','three','four','five'], columns=['year','number','points','penalty']) #행 선택을 할때는 .loc[]를 사용한다. df.loc['one'] df.loc['two':'four'] # loc는 행 뿐만아니라 열 또한 선택할 수 있다. 사용방법은 Numpy와 같다. df.loc['two':'four', 'points'] df.loc[:, ['year','names']] # 또한 loc로 새 행을 추가해 값을 넣을 수도있다. df.loc['six', :] = [2016, 6, 6.6] # 이번엔 인덱스로 행을 가져오는 iloc이 있다. df.iloc[0] #df.loc['one']과 같다 df.iloc[1, 4] #df.loc['two':'four']와 같다
'Python' 카테고리의 다른 글
7. DataFrame 기능 (0) | 2017.08.08 |
---|---|
5. Pandas 자료구조 (0) | 2017.08.03 |
4. Numpy를 이용한 데이터 분석 (0) | 2017.08.03 |
3. Numpy 함수 (0) | 2017.08.02 |
2. Numpy 배열 인덱싱 (0) | 2017.08.01 |