Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
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
Archives
Today
Total
관리 메뉴

데이터 분석, 핸들링

[Python] 값이 일치하는 행을 기준으로 데이터 프레임 합치기(merge) 본문

Python

[Python] 값이 일치하는 행을 기준으로 데이터 프레임 합치기(merge)

JY___K 2024. 1. 11. 20:03

1. 문제

수온 관측 값이 담긴 두 개의 dat 파일이 있다.
두 관측값을 비교하려 하였으나 관측 시점의 주기가 달라 온전한 비교가 힘들었다.

(dat1은 관측주기가 1시간, dat2는 관측주기가 3시간)

 

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' 값들에 대해서만 결과에 포함