업무에 파이썬 활용할 줄 알기

09. 판다스 데이터프레임(DataFrame) 추가 삭제 복습 본문

Python/[유튜브] Pandas & NumPy

09. 판다스 데이터프레임(DataFrame) 추가 삭제 복습

SEO 데이터분석가 2023. 11. 8. 14:22

컬럼 추가

컬럼 삭제

시계열 데이터와 인덱스

로우 추가

로우 삭제

 

컬럼 추가

import pyupbit
df = pyupbit.get_ohlcf("KRW-BTC")

df['range'] = df['high'] - df['low']

 

<참고사항>

모듈이름을 적고 .을 찍으면 모듈안에 있는 클래스라던지 변수를 쓸 수 있다

 

컬럼추가 예시

 

궁금증: dataframe 모듈을 쓰는건데 왜 pyupbit만 import하고 dataframe은 import하지 않는거지

구글링 결과: 

더보기

pyupbit를 통해서 조회하면 200개의 데이터가 pandas dataframe 형식으로 넘어온다

출처: https://t-shaped-person.tistory.com/50

더보기

pyupbit 모듈이란, 업비트 API를 파이썬에서 쉽게 사용하기 위해서 저자들이 개발한 모듈이다.

출처: https://rebro.kr/138 [Rebro의 코딩 일기장:티스토리]

 

 

 

※ pyupbit 다운로드 하는 방법

!pip install pyupbit
!pip install -U pyupbit

 

컬럼 삭제

df.drop('컬럼명', axis=1)

import pyupbit
df = pyupbit.get_ohlcf("KRW-BTC")

df2 = df.drop['volume', axis=1]
df2

 

원본은 그대로 유지되고 컬림이 삭제된 새로운 데이터프레임 객체가 리턴됨

 

데이터 프레임은 2차원이기 때문에 컬럼명을 지울 수도 있고, 로우를 지울 수도 있는데

컬럼을 지우고 싶으면 컬럼명을 지우면 됨

axis=1은 컬럼을 의미하고

axis=0는 로우를 의미함

 

df라는 변수에는 여전히 지운 컬럼이 살아있음

컬럼이 지워진 나머지 컬럼들의 데이터들이 return 되는거지 원본에 적용되는게 아님

 

원본에 적용하려면 inplace를 true로 둬야함

시계열 데이터와 인덱스

import pandas as pd

date = ["2021-04-09"]
index = pd.to_datetime(date)

print(type(date))
print(type(index))

 

리스트의 경우 list 에서 Datetimeindex타입으로 변환이 되고

단일 문자열은 str 에서 Timestamp타입으로 변환이 됨

로우 추가

df.loc[인덱스] = 데이터

import pandas as pd

date = "2022-01-01"
index = pd.to_datetime(date)

df.loc[index] = [100, 100, 100, 100, 100]

로우 삭제

df.drop(로우 인덱스, axis=0)

import pyupbit
df = pyupbit.get_ohlcv("KRW-BTC")

index = df.index[-1]	#거래일 당일의 인덱스
df.drop(index, axis=0)	#당일 데이터 로우 삭제