반응형
Dataframe
python pandas 라이브러리에는 dataframe이라는 자료형이 존재합니다.
dataframe을 잘 가지고 노는 것이 python 작업 중 30%는 차지하는 것 같습니다.
이에 자주쓰는 dataframe 코드들에 대해서 정리하고, 여기서 자주 꺼내쓸 생각입니다.
loc
- 데이터프레임의 행이나 컬럼에 label이나 boolean array로 접근.
- location의 약어로, 인간이 읽을 수 있는 label 값으로 데이터에 접근하는 것이다.
loc code example
-
라벨이 1인 데이터 접근
df.loc[1]
-
라벨이 "name" 인 라벨 접근
df.loc[:, "name"]
-
복수개의 라벨 추리기
df = df[["name", "age", "city"]]
-
특정열에 포함된 문자열로 접근
df = df.loc[df['칼럼1'].str.contains('단어1|단어2')]
-
특정열에 포함되지 않는 문자열로 접근
df = df.loc[~df['칼럼1'].str.contains('단어1|단어2')]
iloc
- 데이터프레임의 행이나 컬럼에 인덱스 값으로 접근.
- integer location의 약어로, 컴퓨터가 읽을 수 있는 indexing 값으로 데이터에 접근하는 것이다.
ioc 행접근 code example
-
첫번째행에 접근
df.iloc[0]
-
두번째행에 접근
df.iloc[1]
-
마지막행에 접근
df.iloc[-1]
-
ioc 열접근 code example
-
첫번째 열 접근
df.iloc[:,0]
-
두번째 열 접근
df.iloc[:,2]
-
마지막 열 접근
df.iloc[:,-1]
-
map
특정열을 필터링 할 때 사용
-
컬럼A의 길이가 10인 데이터를 추출
df = df[df['A'].map(lambda x: len(str(x)) == 10)]
rename
특정 열의 이름을 바꿀 때 사용한다
rename code
-
'old_col' 열 이름을 'new_col' 이름으로 변경
df = df.rename(columns={"old_col": "new_col"})
groupby
특정 열(들)을 기준으로 group by 하여 sum을 출력한다.
groupby code
-
컬럼 "product", "compnay"로 group을 만들고 count열은 sum으로 합치기
df_group = df.groupby(['product', 'company'])['count'].sum().reset_index()
sort
특정 열을 기준으로 sort를 진행한다.
sort code
-
'순번'열을 기준으로 오름차순 정렬
df = df.sort_values(by='순번', ascending=True)
filter
특정 열의 값을 기준으로 판단
filter code
-
특정 열의 값이 없는 (Null인) 것만 추출
df_isnull = df[df["ColumnName"].isnull()]
-
특정 열의 값이 있는 (Null이 아닌) 것만 추출
df_notnull = df[df["ColumnName"].notnull()]
-
특정 열의 값이 있는것만 추출
df_notnull = df[df["ColumnName"] != ""]
반응형
'프로그래밍 > python' 카테고리의 다른 글
[selenium] EC(Expected Conditions)과 while문을 활용해 반복작업 하기 (0) | 2022.08.10 |
---|---|
[pywinauto] 윈도우창 현재 활성화 상태인지 확인 (0) | 2022.08.10 |
[selenium] 새 탭에서 작업 후 원래 탭으로 돌아오기 (0) | 2022.08.09 |
[python] 복수 예외 처리 (0) | 2022.08.08 |
[pywinauto] 윈도우창 자동 활성화 (0) | 2022.08.08 |