361_2.xlsx
0.02MB

import pandas as pd
import matplotlib.pyplot as plt

def smooth_data(data, factor):
    smoothed_data = data.rolling(window=factor, min_periods=1).mean()
    return smoothed_data

# 데이터 불러오기
file_path = '361_2.xlsx'
data = pd.read_excel(file_path)

# 스무딩(factor 조정 가능)
factor = 5
smoothed_data_1 = smooth_data(data['Data-1'], factor)
smoothed_data_2 = smooth_data(data['Data-2'], factor)

# 데이터 번호 열 추가
data.insert(0, 'No.', range(1, len(data) + 1))

# 스무딩된 데이터를 'sm.xlsx' 파일에 저장
output_file = 'sm_out.xlsx'
with pd.ExcelWriter(output_file) as writer:
    data[['No.']].to_excel(writer, index=False)
    pd.DataFrame({'Smoothed Data-1 (Factor={})'.format(factor): smoothed_data_1}).to_excel(writer, index=False, startcol=1)
    pd.DataFrame({'Smoothed Data-2 (Factor={})'.format(factor): smoothed_data_2}).to_excel(writer, index=False, startcol=2)

# 그래프로 출력
plt.plot(data['No.'], data['Data-1'], label='Data-1 (Original)', color='blue', linestyle='--', linewidth=1)
plt.plot(data['No.'], smoothed_data_1, label=f'Data-1 Smoothed (Factor={factor})', color='blue', linestyle='-', linewidth=1)
plt.plot(data['No.'], data['Data-2'], label='Data-2 (Original)', color='red', linestyle='--', linewidth=1)
plt.plot(data['No.'], smoothed_data_2, label=f'Data-2 Smoothed (Factor={factor})', color='red', linestyle='-', linewidth=1)
plt.xlabel('No.')
plt.ylabel('Value')
plt.title('Original vs Smoothed Data')
plt.legend()
plt.grid(True)
plt.show()

'Python' 카테고리의 다른 글

코딩 테스트 (참고사이트)  (0) 2024.04.18
index 시작값 수정하기  (0) 2022.02.14
Python에서 행과 열 데이터 바꾸기  (0) 2022.02.09
Ununtu 20.04에서 CUDA 설치하기  (0) 2021.11.05
Python3.9 - IDLE 설치  (0) 2021.08.30

to Top