너무 길어지는거 같아서 데이터를 직접 건드는 것은 새롭게 게시글로 작성합니다.
https://callmescone.tistory.com/127
[DS_study] pandas 기초, DataFrame 선언 및 정보 탐색
1. 쥬피터 안에서도 다큐멘터리를 볼 수 있습니다. 괄호 안에서 shift tab을 누르면 다음과 같이 함수에 대한 document가 뜹니다. 이걸 Docstring 이라 한다고 합니다. DataFrame에는 index, value, column 기본..
callmescone.tistory.com
다음의 데이터 프레임을 그대로 이어서 해보겠습니다.
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 |