홈>
나는
df
이렇게
time value
0 2019-07-30 124.00
1 2019-07-19 123.00
2 2019-08-28 191.46
3 2019-10-25 181.13
4 2019-11-01 24.23
5 2019-11-13 340.00
6 2020-01-01 36.12
7 2020-01-25 56.12
8 2020-01-30 121.00
9 2020-02-04 115.62
10 2020-02-06 63.62
분기 별 평균으로 그룹화하고 평균 계산에 사용 된 값을 얻고 싶습니다. 아래와 같은 것.
Year Quarter Values Avg
2019 Q3 124, 123, 191 146
2019 Q4 181.13, 24.23, 340 181.78
2020 Q1 36.12, 26.12, 121, 115.62, 63.62 72.96
원하는 결과를 얻으려면 어떻게해야합니까?
- 답변 # 1
- 답변 # 2
그룹화를 작성하고 그룹별로 작성하고 색인을 연도 및 분기로 재구성하십시오.
grouper = pd.Grouper(key='time',freq='Q') res = (df .assign(temp = df.value.astype(str)) .groupby(grouper) .agg(Values=('temp', ','.join), Avg = ('value',np.mean) ) ) res.index = [res.index.year, 'Q' + res.index.quarter.astype(str)] res.index = res.index.set_names(['Year','Quarter']) Values Avg Year Quarter 2019 Q3 123.0,124.0,191.46 146.153333 Q4 181.13,24.23,340.0 181.786667 2020 Q1 36.12,56.12,121.0,115.62,63.62 78.496000
관련 자료
- python - Pandas 데이터 프레임에서 null 값이있는 행으로 그룹화
- python - 열의 값을 사용하여 Pandas 그룹화
- python pandas - 그룹화 된 값 x의 처음 n 개 행 합계
- python - 판다 - 새 열 데이터를 기반으로 열 값을 찾는 방법
- python 3.x - Pandas datetime 열의 값 사이의 중간 점을 찾고 중간 점을 기반으로 시작 및 종료 기간 열 만들기
- python 3.x - Pandas는 개수가있는 결 측값이있는 열을 분포로 변환합니다
- python - 목록 및 필터의 Pandas groupby 열 값
- r dplyr - 그룹별로 공통 값 필터링
- python - Pandas 데이터 프레임의 각 행을 복제하고 목록을 기반으로 일부 열의 값을 변경합니다
- Pandas Dataframe - pandas 데이터 프레임 - 열 값을 기준으로 그룹화하고 다른 열의 값을 조회합니다
- sql - 특정 열이있는 값의 MYSQL GROUP BY 쌍
- python 3.x - pandas df에서 삭제하지 않고 하나의 열을 제외하고 pandas의 열 값을 바꿉니다
- python - Pandas에서 idxmax로 중복 값 유지
- python - 각 값의 개수를 가져 오는 Pandas 코드
- mysql - 그룹에 모든 값이있는 경우 SQL group_by 및 group_concat
- python - Pandas에서 증가하는 값으로 누락 된 값 채우기
- python - 모든 행 값 양수, 한 행 값 음수, 두 행 값 음수… 및 모든 행 값 음수를 기준으로 Pandas 데이터 프레임을 정렬하는 방법,
- python - 그룹당 특정 값의 팬더 빈도
- 키별로 그룹화하고 Pandas 데이터 프레임에서 최대로만 관찰을 반환하는 방법
- python - Pandas DataFrame을 한 열로 그룹화하고 다른 열을 병합하는 방법은 무엇입니까?
사용하다
GroupBy.agg
에 의해 생성 된 분기 기간Series.dt.quarter
결합 값을string
모래mean
명명 된 집계에서 :편집하다: