관리 메뉴

RUBY

[CCTV] 3.Pandas로 데이터 읽기(2) 본문

데이터 분석/EDA_웹크롤링_파이썬프로그래밍

[CCTV] 3.Pandas로 데이터 읽기(2)

ruby-jieun 2023. 2. 1. 00:29

 

 

 

서울시 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)

 

Comments