너무 길어지는거 같아서 데이터를 직접 건드는 것은 새롭게 게시글로 작성합니다.
https://callmescone.tistory.com/127
다음의 데이터 프레임을 그대로 이어서 해보겠습니다.
1. 데이터 정렬
df.sort_values(by='B') # B열을 기준으로 오름차순으로 정렬합니다.
# inplace 가 True면 원본데이터를 변경합니다.
df.sort_values(by='B', ascending=False, inplace=True) #ascending이 false면 내림차순으로 정렬합니다.
2. 칼럼 선택
df["A"] #한 개 컬럼 선택
dataframe 은 결국 Series 데이터 타입 끼리의 합임을 알 수 있었습니다.
df.A # 칼럼명이 '문자열'일 경우에는 다음과 같이도 조회할 수 있습니다. 따옴표가 안붙어있는 것에 주의해야할 것 같습니다.
칼럼 명이 숫자인 데이터프레임을 가지고 해보자, 에러가 뜨는 것을 확인할 수 있었습니다.
df[2] # 칼럼명이 숫자일 때는 원래의 방식대로 조회하면 됩니다.
# 두 개 이상 칼럼 선택
df [[1,2]] # columns가 2개 열 일때는 안을 []로 감싸야 합니다.
3. offset index
[n:m] : n부터 m-1 까지를 말합니다.
인덱스 컬럼의 이름으로 slice 하는 경우에는 끝을 포함합니다.
( 칼럼 명은 도로 A, B, C, D 문자로 바꿨습니다. )
df[0:3] # 행을 0행부터 2행까지 슬라이스 합니다.
df['20210103':'20210104'] # 2021-01-03 부터 2021-01-04 까지를 슬라이스 한다.
4. 이름으로 행과 열 슬라이스 ( loc[ 인덱스 슬라이스, [ 열 슬라이스 ] ] )
df.loc[:, ['A','B']] # 인덱스는 전부 가져오고, 칼럼은 A와 B만 가져와라
df.loc[ "20210102":"20210104" , ["A":"D"] ] # 인덱스 01-02 부터 01-04 까지 슬라이스, "A" 부터 "D" 까지 슬라이스
df.loc["20210102" , ["A" : "D"] ] # 인덱스 01-02 , 칼럼 A부터 C 까지 슬라이스
df.loc["20210102", ["A","C"]] # 01-02 인덱스와 "A", "C" 칼럼을 가져와라
5. 인덱스로 열과 행 슬라이스 ( iloc )
df.iloc[3] # 3번째 인덱스(행) 가져와라
df.iloc[3,2] # 행, 열 ( 4일, C열의 값 )
df.iloc[[1,2,4],[0,2]] # 1, 2, 4번째 인덱스와 0, 2번째 열
df.iloc[:,1:3] # 인덱스 전부와 열 1부터 2까지
🌮 배운 코드 정리
# 정렬
# B열을 기준으로 오름차순으로 정렬합니다.
df.sort_values(by='B')
#ascending이 false면 내림차순으로 정렬합니다.
df.sort_values(by='B', ascending=False, inplace=True)
# inplace 가 True면 원본데이터를 변경합니다.
# 칼럼 선택
# 칼럼 명이 문자일 때
df["A"] #한 개 컬럼 선택
df.A # 칼럼명이 '문자열'일 경우에는 다음과 같이도 조회할 수 있습니다. 따옴표가 안붙어있는 것에 주의해야할 것 같습니다.
# 칼럼 명이 숫자일 때
df.2 # <------------ 에러
df[2] # 칼럼명이 숫자일 때는 원래의 방식대로 조회하면 됩니다.
# 칼럼이 두 개 이상일 때
df [[1,2]] # columns가 2개 열 일때는 안을 []로 감싸야 합니다.
# 인덱스를 선택합니다.
df[0:3] # 행을 0행부터 2행까지 슬라이스 합니다.
df['20210103':'20210104'] # 01-03 부터 01-04 까지를 슬라이스 한다.
# 열과 행을 이름으로 조회합니다.
df.loc[:, ['A','B']] # 인덱스는 전부, 칼럼은 A와 B
df.loc["20210102":"20210104", ["A":"D"]] # 인덱스 '01-02'부터 '01-04'까지, 칼럼 "A"부터 "D"까지
df.loc["20210102", ["A":"D"]] # 인덱스 '01-02' , 칼럼 A부터 D까지
df.loc["20210102", ["A","C"]] # 인덱스 '01-02' , 칼럼 "A", "C"
# 열과 행을 인덱스로 조회
df.iloc[3] # 3번째 인덱스(행)
df.iloc[3,2] # 행, 열 ( 4일, C열의 값 )
df.iloc[[1,2,4],[0,2]] # 1, 2, 4번째 인덱스와 0, 2번째 열
df.iloc[:,1:3] # 인덱스 전부와 열 1부터 2까지
'DS_Study > 서울시 CCTV 현황' 카테고리의 다른 글
[DS_Study] 데이터 흝어보기 (0) | 2022.05.29 |
---|---|
[DS_study] pandas dataframe 조건식, 칼럼 추가, 수정, isin(), 제거, 함수 적용 (0) | 2022.05.25 |
[DS_study] pandas 기초, DataFrame 선언 및 정보 탐색 (0) | 2022.05.25 |
[DS_study] pandas 기초, pd.Series(), pd.date_range() (0) | 2022.05.25 |
[DS_study] 쥬피터로 필기를 해봅시다. (0) | 2022.05.25 |