300x250
https://gongdolgongdol.tistory.com/190
python(vscode)/dataframe min max 구하기/원하는 범위만 계산하기
csv 파일을 데이터로 불러오고 min max 를 구해볼텐데 내가 원하는 부분의 데이터만 가지고 할 수 있도록 해보자. 1. 예제파일 준비 1) 아래와 같이 예제 파일을 준비한다. 2. 코드작성 1) 아래와 같이
gongdolgongdol.tistory.com
1. 예제파일 만들기
1) 앞서 csv 파일로 max, min 구했던 자료 기준으로 진행 (위 링크된 글 참고)
2) max, min 값을 엑셀파일을 만들어 저장해보자.
- 아래 딕셔너리 값을 엑셀에 저장할 것이다.
2. 코드작성
1) 코드중 윗부분은 앞 자료와 동일하다(위 링크된 글 )
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
35
36
37
38
39
40
41
|
import numpy as np
import pandas as pd
#1. 데이터 가져오기
filename = r"C:\Users\Documents\test2.csv" #파일명 작성
data = pd.read_csv(filename) #data 변수에 엑셀 데이터를 넣는다
data1 = data.astype(np.float16) #용량을 줄여준다.
col1 = data.columns # 첫번째 칼럼을 col1 변수에 넣는다.
#데이터 min max 구할 index 범위 설정
xmin = 0
xmax = 200
# 데이터 min, max, range(max-min) 기록하기 함수
import openpyxl
def max_min_range_inexcel(add_filename,xmin,xmax,list): # 그래프 그릴때의 x축 min max 기준으로 계산한다.
range_data = {}
for data in list:
# 1번 줄에 있는 데이터 min max 구하기
data_min = data1.loc[xmin:xmax, [data]].min(skipna=True) # min
data_max = data1.loc[xmin:xmax, [data]].max(skipna=True) # max
range_data[data]=[data_min[data],data_max[data],data_max[data] - data_min[data]]
wb = openpyxl.Workbook()
write_ws = wb.active
for key,val in range_data.items():
da = [key] + val
write_ws.append(da)
wb.save(add_filename)
# xlsx 파일에 넣기
filename = r"C:\Users\Documents\result.xlsx" # 저장할 파일명과 파일위치 정의
list1 = [col1[1],
col1[3]]
max_min_range_inexcel(add_filename=filename,xmin=xmin,xmax=xmax,list=list1)
|
cs |
3. 결과
300x250
'파이썬 > 파이썬일반' 카테고리의 다른 글
python/파일명 추출, 디렉토리 등 참고 자료 (0) | 2023.11.12 |
---|---|
python(vscode)/폴더내 이미지 전체 ppt에 이미지 삽입하기/폴더 이름 정렬해서 가져오기/natsort (0) | 2023.11.12 |
python(vscode)/dataframe min max 구하기/원하는 범위만 계산하기 (1) | 2023.10.09 |
python(vscode)/dask와 pandas 대용량 csv 파일 읽어오기/시간비교 (0) | 2023.08.08 |
python(vscode)/csv 파일 인코딩 형식 알아내기/encoding/chardet (0) | 2023.08.08 |