Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 한글 글씨체
- pandas
- selenium
- qgis
- exe
- 단축키
- sheet_name
- 상대경로
- 엑셀
- excel
- Spyder
- Python
- 자동화
- concat
- 결측치
- List Comprehension
- pyautogui
- matplotlib
- 이미지 파일 편집
- PyInstaller
- &
- DateTime
Archives
- Today
- Total
데이터 분석, 핸들링
[Python] 값이 일치하는 행을 기준으로 데이터 프레임 합치기(merge) 본문
1. 문제
수온 관측 값이 담긴 두 개의 dat 파일이 있다.
두 관측값을 비교하려 하였으나 관측 시점의 주기가 달라 온전한 비교가 힘들었다.
(dat1은 관측주기가 1시간, dat2는 관측주기가 3시간)


두 개의 수온 리스트를 만들고
for 문으로 관측시간이 같을 때만 각각의 리스트에 append 하도록 하고 비교하면 되지만
데이터의 양이 너무 많아 오랜 시간이 걸렸다(비효율).
2. 해결
판다스 merge 활용
데이터프레임 두개를 'Date'(관측시간 컬럼) 기준으로 결합하면 시간이 같은 컬럼만을 기준으로 새로운 데이터 프레임이 만들어졌다.
[조건문(관측시간이 같을 때만 append)이 사라져 시간 대폭 단축]
import pandas as pd
~
dat1 = ~
dat2 = ~
~
# 관측시간 컬럼 기준으로 두 dat파일 합치기
merged_data = pd.merge(dat1, dat2, on='Date', how='inner')
x축 = [] ; 관측값_one = [] ; 관측값_two = []
for i in range(len(merged_data)):
x축.append(merged_data['Date'][i])
관측값_one.append(merged_data['관측1'][i])
관측값_two.append(merged_data['관측2'][i])
how='inner'
두 데이터프레임에서 공통으로 존재하는 'Date' 값들에 대해서만 결과에 포함
'Python' 카테고리의 다른 글
| [Python] 문자형 날짜('20240119')를 날짜 타입으로 변경 (0) | 2024.01.19 |
|---|---|
| [Python] matplotlib 한글 글씨체 선택 및 적용하기 (0) | 2024.01.19 |
| [python] 상대 경로로 지정한 파일을 읽지 못할 때 (0) | 2023.12.18 |
| [Python] 웹 자동화 시 클릭할 요소의 XPath를 정확히 입력했는데도 클릭이 안될 때(selenium, pyautogui) (0) | 2023.06.18 |
| [Python] 특정 요소의 인덱스 추출하기(list, DataFrame) (0) | 2023.05.29 |