파이썬/데이터프레임 13

python(vscode)/데이터프레임 복사/연동해제하기/복사만하기/id동일함/deepcopy

데이터프레임 사용할때 복사했음에도 데이터가 연동되는 경우가 있다.연동되지않도록 하는방법을 알아보자.  위의 출력 (print) 2개가 문제 상황으로 아이디가 같고, 아래는 deepcopy하여 id가 공유되지 않음을 확인할 수 있다. import pandas as pdimport copytemp_ohlcv = {'code' : [], 'min_t' : [], 'close':[]}temp_df = pd.DataFrame(temp_ohlcv, columns=['code','min_t','close'])## 문제 : id가 동일하다. temp_df를 카피하지않고, 가져와서 그렇다.  minute_data_0 = {}minute_data_0["alldata_0"] = (temp_df)    minute_data_..

python(vscode)/데이터 프레임/두개 변수 사용시 연동됨.

1. 문제상황 - 데이터 프레임 정의후 임시로 다른변수 (temp)에 넣고 temp에서 데이터 추가했는데, df 도 변경됨. import pandas as pd df = pd.DataFrame() df['Test'] = [1, 2, 3] temp = pd.DataFrame() temp = df temp['New Column'] = [2, 3, 4] print(df) 2. 문제해결 - 데이터 프레임 카피해줘야한다. 그냥 넣으면 안됨 import pandas as pd df = pd.DataFrame() df['Test'] = [1, 2, 3] temp = pd.DataFrame() temp = df.copy() temp['New Column'] = [2, 3, 4] print(df)

python(vscode)/데이터프레임 조건으로 행조회/행삭제/any/all/다중조건

1. 코드작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 import pandas as pd # 0. 데이터 프레임만들기 df = pd.DataFrame(data= {'과일': ['사과', '포도', '포도', '메론'], '숫자': [70, 80, 90, 100], '점수': [70, 70, 60, 105], '계산': [300, 400, 500, 300]}) # 1. 데이터프레임 출력 print("\n1.") print(df) # 2. 포도조건으로 행 조회하기 print("\n2. ") print(df[df['과일'] == '포도']) # 3. 포도가 조건 있으면, 행 조회한다. if..

python(vscode)/데이터프레임 시간 조건으로 출력하기

1. 코드작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 import random import pandas as pd import datetime import time ohlcv = {'min_t' : [], 'open':[],'high':[],'low':[],'close':[],'volume':[]} now = datetime.datetime.now() start_time = now # 1. 랜덤데이터 만들기 for i in range(5): now = datetime.datetime.now() min_t = now open = ra..

python(vscode)/데이터프레임 최대/최소 구하기/첫줄/마지막줄

1. 코드작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import random import pandas as pd import datetime import time ohlcv = {'min_t' : [], 'open':[],'high':[],'low':[],'close':[],'volume':[]} now = datetime.datetime.now() start_time = now # 1. 랜덤데이터 만들기 for i in range(5): now = datetime.datetime.now() min_t = now open = random.randran..

python(vscode)/데이터프레임 추가/제거/인덱스 초기화

1. 코드 작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 import random import pandas as pd ohlcv = {'min_t' : [], 'open':[],'high':[],'low':[],'close':[],'volume':[]} # 1. 랜덤데이터 만들기 for i in range(10): min_t = random.randrange(10000, 11000) open = random.randrange(10000, 11000) high = random.randrange(10000, 11000) low = random.randrang..

python(vscode)/데이터 프레임에서 데이터 검색 조건 걸기, 데이터 이상,이하 이면 다른 열의 데이터 가져오기

아래 예제를 이용해 e1 열의 데이터는 15보다 커질때 시점의 name 데이터를 가져오고, e2 열의 데이터 150 보다 작아질때의 name 값을 가져와보자. 1.예제 준비하기 1) csv 파일을 준비한다. 2) e1, e2 데이터는 데이터가 올라갔다가 다시 떨어지는 포물선 데이터이다. 3) e1 데이터는 15 기준으로 상승할때, e2 데이터는 150기준으로 하락할때 시점의 앞열의 name 데이터를 가져온다. 2. 코드 작성하기 1) 상승/하락, 이상/이하 조건에 맞으면 값을 3000으로 하는 데이터 열을 각각 추가해준다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ..

python(vscode)/db 테이블을 데이터프레임으로 가져오기

https://gongdolgongdol.tistory.com/165 python(vscode)/csv파일로 db 만들기/데이터 프레임 db 만들기 요즘 csv 파일 데이터가 커지면서 데이터프레임으로 가져오는 시간이 오래걸린다... db에 데이터를 넣어놓고 db 에 저장된 데이터이면 가져와서 사용해보자. db 의 data를 가져오는 시간과, csv에서 gongdolgongdol.tistory.com 0. 우선 위 데이터 프레임을 db 테이블로 가져온 글을 참고하자. 1) csv 에는 없던 index 가 db 파일에는 생성된것을 볼 수 있다. -그러므로 db에서 다시 데이터 프레임으로 올때 index 열을 지워줘야 완전히 같게 돌아온다. 참고. 1. 코드작성 1) 13번째 줄이 index를 지워주는 열이다..

python(vscode)/그래프 여러개 그리기/데이터프레임 가볍게 만들기/subplot

1. 예제파일을 만들자. 1) name 과 e1이 하나의 데이터 세트이다. 2) name이 중복되어 있다. 3) name 데이터는 1 3 5 7 9 와 1 2 3 4 5 로 나뉘어 있다 2. 코드작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 import numpy as np import matplotlib.pyplot as plt import pandas as pd #1. 데이터 만들기 filename = r"C:\Users\Documents\test1.xlsx" #파일명 작성 data = pd.read_excel(filename) #data 변수에 엑셀 데이터를 넣는다 data1..