개요
- kaggle에서 튜토리얼로 pandas가 있어서 복습할겸 다시 정리
정리
인덱싱
dataframe[열 이름]
ordataframe.열이름
으로 출력가능- dict와 유사하게 사용가능
- dataframe[열 이름][0]으로 특정 column의 한 index의 값만 추출가능
- pandas의 자체적인 인덱싱 함수로 loc와 iloc이 존재
iloc
- index-based selection:
- dataframe.iloc[가로(행), 세로(열)]로 지정 가능
- dataframe.iloc[0]
- 0번째 행을 추출한다.
- dataframe.iloc[0:3,0]
- 0부터 3번 이전 행까지 0번 column들만 추출한다.
- dataframe.iloc[[0,1,2],0]로도 표현 가능
loc
- label-based selection
- 위치가 아닌 이름으로 지정
- dataframe.loc[0, ‘열이름’]
- 0번째 행index에서 해당 열을 추출
- dataframe.loc[0:3,0]
- iloc과 같아 보이지만 loc은 0,1,2,3을 가지는 Index를 추출한다.
- dataframe.loc[:, [‘열이름1’, ‘열이름2’, ‘열이름3’]]
- 특정 열 에 대해서만 모든 행에서 추출
index 조작
- 새로운 index(행)을 추가하는게 가능하다.
- dataframe.set_index(“index이름”)
조건문
- 특정 조건에 맞게 선택 가능
- dataframe.열이름 == ‘찾는 값’
- 특정 열의 값을 비교한다.
- dataframe에서 해당 열(series)을 추출하고, 같으면 true로 다르면 false로 하여 출력한다.
- dataframe.loc[dataframe.열이름 == ‘찾는값’]
- loc와 연계하여 추출이 가능하다.
- dataframe.열이름 == ‘찾는값’은 true,false로 된 series가 만들어진다.
- 위에서 만들어진 true와 false로 이루어진 결과를 토대로 추출한다.
- and와 or 적용 가능
- and는
&
, or는|
를 사용 - dataframe.loc[(dataframe.열이름 == ‘찾는값’) & (dataframe.열이름>=80)]
-
dataframe.loc[(dataframe.열이름 == ‘찾는값’) (dataframe.열이름>=80)]
- and는
isin
- 특정 열에서 값이 포함되는 것들을 추출할때 사용
- dataframe.열이름.isin([열값1,…])
isnull
,notnull
- isnull은 값이 비어있는것들
- notnull은 어떤값이든 들어있는것들
값 넣기
- 특정열에 값을 부여 할 수 있다.
- dataframe[‘열이름’] = ‘값’
- 해당 열의 모든 값이 해당 값으로 바뀐다.
- iterator한 값을 넣는것도 가능
- dataframe[‘열이름’] = range(len(dataframe), 0, -1)
- range를 통해 전체 길이가 1씩 줄어드는 값을 넣는게 가능하다.