RUBY
[CCTV] 3.Pandas로 데이터 읽기(2) 본문
서울시 CCTV 분석하기 프로젝트
3.Pandas로 데이터 읽기(2)
25.
import pandas as pd
import numpy as np
pandas는 통상적으로 pd로 import하고
수치해석적 함수가 많은 numpy는 통상적으로 np로 import한다.
26.
s = pd.Series([1, 3, 5, np.nan, 6, 8])
s
Pandas의 데이터형을 구성하는 기본은 Series이다.
27.
dates = pd.date_range("20230131", periods=6)
dates
날짜(시간)을 이용할 수 있다.
28.
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=["A", "B", "C", "D"])
df
pandas에서 가장 많이 사용되는 데이터형은 DataFrame이다.
index와 columns를 지정하면 된다.
29.
df.head()
앞 부분의 5개 데이터를 확인해본다.
30.
df.index
DataFrame의 인덱스를 확인해본다.
31.
df.columns
DataFrame의 컬럼을 확인해본다.
32.
df.values
DataFrame의 values을 확인해본다.
33.
df.info()
DataFrame의 기본 정보를 확인한다.
여기서는 각 컬럼의 크기와 데이터 형태를 확인하는 경우가 많다.
34.
df.describe()
DataFrame의 통계적 기본정보를 확인한다.
35.
df.sort_values(by="B", ascending=False)
Sort_values : 데이터를 정렬한다.
36.
df["A"]
특정 컬럼만 선택해서 읽는다.
37.
df[0:3]
[n:m] : n부터 m-1까지
그러나 인덱스나 컬럼의 이름으로 slice하는 경우는 끝을 포함한다.
38.
pandas slice 옵션주기
이름으로도 사용 가능하다.
df["20230131":"20230202"]
df.loc[:,["A", "B"]]
df.loc["20230131":"20230202",["A", "B"]]
df.loc["20230131",["A", "B"]]
39. iloc 옵션을 이용해서 번호로만 접근해보자
df.iloc[3]
df.iloc[3:5, 0:2]
df.iloc[[1,2,4], [0,2]]
df.iloc[:, 1:3]
40.
df[condition]와 같이 사용하는 것이 일반적이다.
Pandas 버전에 따라 조금씩 허용되는 문법이 다르다.
인터넷에서 확보한 소스코드를 돌릴 때는 Pandas의 버전을 확인하는 것이 필요하다.
df
df[df["A"]>0]
41.
df[df>0]
42. E행의 데이터를 변경한다.
df["E"]=["one","one","two","three","four","three"]
df
43. 특정 요소가 있는지 확인한다.
df["E"].isin(["two", "four"])
44. 특정 요소가 있는 행만 선택한다.
df[df["E"].isin(["two", "four"])]
45.
df
46. 특정 컬럼을 제거한다.
del df["E"]
df
47. 각 칼럼의 누적 합을 구한다.
df.apply(np.cumsum)
'데이터 분석 > EDA_웹크롤링_파이썬프로그래밍' 카테고리의 다른 글
[CCTV] 3.Pandas로 데이터 읽기(4) (0) | 2023.02.01 |
---|---|
[CCTV] 3.Pandas로 데이터 읽기(3) (0) | 2023.02.01 |
[CCTV] 3.Pandas로 데이터 읽기(1) (2) | 2023.01.31 |
[CCTV] 2.데이터 확보 (0) | 2023.01.31 |
[CCTV] 1. 목표 (0) | 2023.01.31 |