목록STUDY/NumPy,Pandas (10)
데이터 코딩랩
시계열 데이터와 인덱스 시계열 데이터는 인덱스가 날짜와 시간으로 구성됨문자열로 표현된 날짜와 시간을 DatetimeIndex 타입으로 변환해서 사용해야 함 import pandas ad pddate = ["2021-04-09"]Index = pd.to_datetime(date)print(type(date))print(type(index)) import pandas as pddate = "2021-04-09"Index = pd.to_datetime(date)print(type(date))print(type(Index)) 로우 추가 loc 속성을 사용df.loc[인덱스] = 데이터 import pandas as pddate = "2022-01-01"index = pd.to_datetime(date)df...
칼럼 추가df['컬럼명'] = 시리즈 객체비트코인 일봉 데이터를 얻어온 후 각 거래일의 변동(range) 컬럼 추가하기- range = high - low!pip install pyupbitimport pyupbitdf = pyupbit.get_ohlcv("KRW-BTC")df df['range'] = df['high'] - df['low'] 컬럼 삭제df.drop('컬럼명', axis =1)원본은 그대로 유지되고 컬럼이 삭제된 새로운 데이터 프레임 객체가 리턴됨import pyupbitdf = pyupbit.get_ohlcv("KRW-BTC")df2=df.drop('volume', axis = 1)df2

특정 값 가져오기• 036360 종목의 현재가를 출력하기 df.iloc[행번호, 열번호] df.loc[인덱스, 컬렴명] from pandas import DataFramedata = [['3R', 1510, 7.36],['3SOFT' , 1790, 1.65],['ACTS', 1185, 1.28]]index = ['037730', '036360', '005760']columns = ['종목명', '현재가', '등락률']df = Dataframe(data=data, index=index, columns=columns) 영역 가져오기• 데이터 프레임에서 특정영역접근 df.iloc[[행번호리스트, 열번호리스트]] df.loc[[인덱스 리스트, 컬렴명리스트]]

데이터프레임• 2차원 데이터를 효과적으로 표현한 판다스 자료구조 칼럼 선택• 대괄호['칼럼명']을 통해서 단일 컬럼선택 가능 - df['종가'] - 컬럼을 표현하는 시리즈 타입의 객체 - index는 회사이름 - value 는 종가 멀티 컬럼 선택• 컬럼을 리스트로 구성한 후 인덱싱 기호에 리스트를 전달 - df[['컬럼명1', '컬럼명2']] 로우 선택(1/2)• 데이터프레임에서 로우(row)를 선택할 때는 iloc 나 loc 속성을 사용메서드기능loc인덱스를 사용해서 로우를 선택iloc행번호를 사용해서 로우를 선택 멀티 로우 선택• 리스트로 행번호 또는 인덱스를 표현하고 이를 iloc나 loc 속성에 사용 - df.iloc[[0,1]] - ..

DataFrame 생성(1/3)• 2차원 표에서 컬럼 단위로 데이터를 표현 - 칼럼명을 딕셔너리의 key로 데이터는 딕셔너리의 values 로 사용 from pandas import DataFramedata = { "종가": [15700, 51300, 68800, 140000], "PER": [39.88, 8.52, 10.03, 228.38], "PBR" : [4.38, 1.45, 0.87, 2.16] }index = ['NAVER', '삼성전자', 'LG 전자', '카카오']df = DataFrame(data, index)df DataFrame 생성(2/3)• 2차원 표에서 로우 단위로 데이터를 리스트로 표현 - data, index, columns를 각각 리스트로 표..

브로드캐스팅(Broadcasting)• 연산이 시리즈 객체의 전체값에 적용됨 - 반복문을 사용하지 않음 사칙연산(1/2)• 값은 인덱스를 기준으로 사칙 연산이 적용됨 - 반복문을 사용하지 않아도 됨 사칙연산(2/2)• 인덱스가 같은 데이터 간의 덧셈 연산 적용 - 순서와 상관없이 인덱스를 기준으로 계산 시리즈 비교 연산• 비교 연산자의 결과로 Boolean 타입이 저장된 시리즈가 리턴됨 시리즈 필터링(1/2)• True/False 값을 통해서 True 값만 필터링 가능 시리즈 필터링(2/2)• 비교 연산자의 결과 시리즈를 사용하여 인덱싱 하면 조건을 만족하는 데이터만 필터링 가능 시리즈 필터링• 시가가 300원 이상인 날의 종가를 출력 [연습문제] 1. 고가와 저가 차..

Series 에 값 추가• 딕셔너리와 유사한 방식으로 값 추가 가능 - s.loc[인덱스] = 값 Series 삭제• drop메서드 - 원본은 유지하고 값이 삭제된 시리즈 객체를 리턴 - s.drop('인덱스') - s.drop(['인덱스1', '인덱스2']) Series 수정• Series 의 행 번호나 인덱스를 사용하여 value 를 수정 가능함 삭제 원본에도 적용하기

Series 인덱싱 (1/3)- iloc 속성(변수)을 사용하여 인덱싱 • 시리즈 객체의 행번호를 사용하여 인덱싱 from pandas import Series, DataFrameimport pandas as pddata = [100, 200, 300]index = ["월", "화", "수" ]s = Series(data, index)print(s.iloc[0])print(s.iloc[2]) Series 인덱싱 (2/3)- loc 속성을 사용 • 시리즈 객체의 인덱스로 인덱싱 data = [100, 200, 300]index = ["월", "화", "수" ]s = Series(data, index)print(s.loc["월"])print(s.loc["수"]) Series 인덱싱 (3/3)- ..