728x90
반응형
시간별로 평균 내주고 싶은데 시간의 간격이 일정치 않습니다.
0 ~ 100 에서의 통행속도
105 ~ 200 에서의 통행속도
205 ~ 300 ...
해서 새로운 테이블을 만들고 싶습니다.
(방법)
- 임시로 데이터(pandas DataFrame)을 만들고, 시간대별 구분자를 만듭니다.
import pandas as pd
data = {"시간":[0,1,22,75,100, 120,185, 200, 244,290,520, 540, 1100, 1145]}
df = pd.DataFrame(data)
df["통행속도"] = [43.0, 38.0, 26.0, 38.0, 33.0, 30.7, 22.0, 33.0, 48.0, 30.0, 33.0, 33.0, 22.0, 22.0]
df["구분"] = ((df['시간']-1)/100).astype(int) # 구분 이라는 컬럼에 시간대 구분자를 만듬.
print(df)
- 아래와 같이 '구분' 컬럼에 시간대별 구분자가 만들어졌습니다.
- 구분자가 어떤 의미가 있는 것은 아니고 0~100, 101~200 등 구간을 동일한 구분자가 되도록 하기 위함 임.
- df["구분"] = ((df['시간']-1)/100).astype(int) 에서 -1은 0~100, 101~200과 같이 100, 200이 하위 범위에 포함되어야 하기 때문임.
다음과 같이 groupby로 평균 구함.
df2 = df.groupby(['구분']).mean() # groupby로 평균 구하기
df2
아래의 통행속도는 평균값이 됨.
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 버튼 클릭시 외부프로그램 실행 (tkinter) (0) | 2023.01.17 |
---|---|
[파이썬] 문제 : 정수의 각 자리수 분리 (0) | 2023.01.17 |
[파이썬] 문제 : 두 딕셔너리 병합(합치기, 정렬) (0) | 2023.01.16 |
[파이썬] 문제 : 클래스 상속(__init__, __repr__) (0) | 2023.01.11 |
[파이썬] 문제 : 문장에서 알파벳 찾기 (0) | 2023.01.11 |
댓글