3. 데이터 선택하기 (Data Selection)
.iloc.locindex slicingpandas

특정 열 선택

DataFrame이 가지고 있는 []를 이용해 슬라이싱하여 출력하는 방법입니다. 특정 열 값만 가지고 오고 싶다면'데이터프레임명'['Column명']과 같은 형태로 입력합니다. 이는 df.A와 동일합니다. 리턴되는 값은 Series의 자료구조를 가지고 있습니다.

print(df['A']) # 'A'
print(df.A) #

특정 행 선택

특정 행 추출과 특정 행 범위 추출은 사용하는 방식이 다릅니다. 특정 행 및 행 범위 추출을 위해서는 인덱스 슬라이싱 기법을 사용해야 합니다.

print(df[0:3]) #
print(df['20130102' : '20130104']) #
print(df['20130102' : '20130102']) #

.loc (이름을 이용한 데이터 선택)

라벨의 이름을 이용하여 선택할 수 있는 .loc 속성도 있습니다. 첫 번째 인덱스 값인 '2013-01-01'에 해당하는 모든 컬럼의 값 가져오기와 같은 작업을 수행할 수 있습니다.

print(df.loc[dates[0]]) # dates[0]
print(df.loc[:, ['A', 'B']]) # , 'A' 'B'
print(df.loc['20130102':'20130104',['A','B']]) # '20130102':'20130104', 'A' 'B'

.iloc (위치를 이용한 데이터 선택)

위치를 나타내는 인덱스 번호를 사용하여 데이터를 선택할 수 있습니다.

print(df.iloc[3]) # 3
print(df.iloc[3:5, 0:2]) # 3:5 , 0:2
print(df.iloc[:, 1:3]) # , 1:3
print(df.iloc[:, 1:3].name)

조건을 이용한 데이터 선택

특정한 행이나 열에 조건을 달아 만족하는 행이나 열만 선택하여 데이터를 추출할 수 있습니다.

isin()

필터링을 해야 하는 경우에 사용합니다.

print(df[df.A > 0]) # 'A' 0
print(df[df > 0] # 0
print(df['E'] = ['one', 'one','two','three','four','three']) # df 'E'
print(df[df['E'].isin(['two', 'four'])]) # 'E' 'two', 'four'


'Machine Learning > Pandas' 카테고리의 다른 글

[Pandas] 데이터 확인하기  (2) 2018.11.29
[Pandas] 데이터 오브젝트 생성  (0) 2018.11.29

+ Recent posts