300x250
데이터프레임 사용할때 복사했음에도 데이터가 연동되는 경우가 있다.
연동되지않도록 하는방법을 알아보자.
위의 출력 (print) 2개가 문제 상황으로 아이디가 같고, 아래는 deepcopy하여 id가 공유되지 않음을 확인할 수 있다.
import pandas as pd
import copy
temp_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_1 = {}
minute_data_1["alldata_1"] = (temp_df)
print(id(minute_data_0["alldata_0"]))
print(id(minute_data_1["alldata_1"]))
## 해결
minute_data_0 = {}
minute_data_0["alldata_0"] = copy.deepcopy(temp_df)
minute_data_1 = {}
minute_data_1["alldata_1"] = copy.deepcopy(temp_df)
print(id(minute_data_0["alldata_0"]))
print(id(minute_data_1["alldata_1"]))
300x250
'파이썬 > 데이터프레임' 카테고리의 다른 글
python(vscode)/데이터 프레임/두개 변수 사용시 연동됨. (0) | 2024.03.31 |
---|---|
python(vscode)/데이터프레임 조건으로 행조회/행삭제/any/all/다중조건 (0) | 2024.03.15 |
python(vscode)/데이터프레임 시간 조건으로 출력하기 (0) | 2024.02.19 |
python(vscode)/데이터프레임 최대/최소 구하기/첫줄/마지막줄 (0) | 2024.02.19 |
python(vscode)/데이터프레임 /for /참고자료 (0) | 2024.02.19 |