조건이있는 그룹화 된 데이터에 .mean () 적용

조나스 팔라 키 오니 스

나는 df다음과 같은 것을 가지고 있습니다 .

Day         Country         Type        Product         Cost        

Mon         US              1           a1              0
Mon         US              2           a1              5
Mon         US              3           a1              6
Mon         CA              1           a1              8
Mon         CA              2           a1              0
Mon         CA              3           a1              1

나는 이것을 만들려고 노력하고 있습니다.

Day         Country         Type        Product         Cost        Average

Mon         US              1           a1              0           (5+6)/2
Mon         US              2           a1              5           (5+6)/2
Mon         US              3           a1              6           (5+6)/2
Mon         CA              1           a1              8           (8+1)/2
Mon         CA              2           a1              0           (8+1)/2
Mon         CA              3           a1              1           (8+1)/2

아이디어는 그룹에 의해입니다 CountryProduct평균 비용을 갔지만을 Costs어디에 그 >0.

내가 시도한 것 :

np.where(df['Cost']>0, df.loc[df.groupby(['Country','Product'])]['Cost'].mean())

그러나 나는 얻는다 :

ValueError : 다차원 키로 인덱싱 할 수 없습니다.

.mean(), max(), etc필터가있는 그룹화 된 pandas 데이터 프레임과 같은 내장 함수를 적용하는 모범 사례 솔루션은 무엇입니까 ?

이스 르엘

첫 번째 생각은 대체입니다 0NaN사용하는 다음의와 GroupBy.transform함께 mean기본적으로 생략 값을 누락 :

print (df.assign(new = df['Cost'].where(df['Cost'] > 0)))
   Day Country  Type Product  Cost  new
0  Mon      US     1      a1     0  NaN
1  Mon      US     2      a1     5  5.0
2  Mon      US     3      a1     6  6.0
3  Mon      CA     1      a1     8  8.0
4  Mon      CA     2      a1     0  NaN
5  Mon      CA     3      a1     1  1.0


df['Average'] = (df.assign(new = df['Cost'].where(df['Cost'] > 0))
                   .groupby(['Country','Product'])['new']
                   .transform('mean'))
print (df)
   Day Country  Type Product  Cost  Average
0  Mon      US     1      a1     0      5.5
1  Mon      US     2      a1     5      5.5
2  Mon      US     3      a1     6      5.5
3  Mon      CA     1      a1     8      4.5
4  Mon      CA     2      a1     0      4.5
5  Mon      CA     3      a1     1      4.5

또는 먼저 다음을 기준으로 필터링, 집계 mean및 다시 할당 DataFrame.join:

s = df[df["Cost"] > 0].groupby(['Country','Product'])['Cost'].mean().rename('Average')
df = df.join(s, on=['Country','Product'])
print (df)
   Day Country  Type Product  Cost  Average
0  Mon      US     1      a1     0      5.5
1  Mon      US     2      a1     5      5.5
2  Mon      US     3      a1     6      5.5
3  Mon      CA     1      a1     8      4.5
4  Mon      CA     2      a1     0      4.5
5  Mon      CA     3      a1     1      4.5

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

그룹화 된 데이터 추적

분류에서Dev

그룹화 된 데이터 프레임의 그룹에 적용된 두 날짜 사이의 평일 수

분류에서Dev

Pandas에서 그룹화 된 데이터의 단일 열에 함수 적용

분류에서Dev

조건이있는 2 개의 데이터 프레임에서 그룹화 된 데이터 가져 오기

분류에서Dev

그룹화 된 데이터에 GETPIVOTDATA 사용

분류에서Dev

Power BI-조건이있는 그룹화 된 값 계산

분류에서Dev

LINQ-조건이있는 그룹화 된 목록

분류에서Dev

한 번에 n 개 행 그룹화 된 데이터 프레임에 사용자 지정 함수 적용

분류에서Dev

조건이있는 누적 합계로 그룹화

분류에서Dev

Python Pandas는 그룹화 된 데이터 프레임에 함수를 적용합니다.

분류에서Dev

Pandas, 문자열 인덱스로 그룹화 된 데이터에 사용자 지정 함수 적용

분류에서Dev

Pandas 데이터 세트를 사용하여 기능별로 그룹화합니다. Python에서 그룹화 된 데이터 세트가있는 Cronbach의 알파

분류에서Dev

그룹화 된 데이터에 대한 AVG에서 오류 1046 : 명시 적 캐스트 사용

분류에서Dev

Pandas의 모든 그룹화 된 데이터에 정렬 기능을 적용합니까?

분류에서Dev

그룹화 된 데이터에 대해 반복적으로 ANOVA (ezANOVA 사용) 수행

분류에서Dev

Python에서 데이터 프레임별로 그룹화 된 여러 기능을 적용하십시오.

분류에서Dev

중첩 된 foreach를 사용하여 데이터 그룹화

분류에서Dev

Python에서 그룹화 된 데이터 프레임 사용자 지정 정렬

분류에서Dev

Mvvmcross를 사용하여 Xamarin의 UITableview에 그룹화 된 데이터 바인딩

분류에서Dev

그룹화 된 pandas 데이터 프레임에서 모든 값 조합을 얻는 최적의 방법이 있습니까?

분류에서Dev

그룹화 된 data.table이있는 rollmean은 논리적

분류에서Dev

KMeans 클러스터별로 그룹화 된 데이터에 액세스하는 효율적인 방법

분류에서Dev

그룹화 된 데이터 프레임에 기능을 적용하고 여러 출력을 데이터 프레임에 저장

분류에서Dev

모든 그룹에 조건이있는 그룹을 사용하여 데이터 필터링

분류에서Dev

seaborn 또는 matplotlib를 사용하여 그룹화 된 상자 그림에 대한 데이터 형식 지정

분류에서Dev

Pandas를 사용하여 데이터 프레임에서 (그룹화 된) 막대 차트를 그리는 방법

분류에서Dev

그룹화 된 데이터의 명명 된 열을 사용하여 MySQL Group by

분류에서Dev

r에서 그룹화 된 데이터 필터링

분류에서Dev

T-SQL 그룹화 된 데이터에 카운터 추가

Related 관련 기사

  1. 1

    그룹화 된 데이터 추적

  2. 2

    그룹화 된 데이터 프레임의 그룹에 적용된 두 날짜 사이의 평일 수

  3. 3

    Pandas에서 그룹화 된 데이터의 단일 열에 함수 적용

  4. 4

    조건이있는 2 개의 데이터 프레임에서 그룹화 된 데이터 가져 오기

  5. 5

    그룹화 된 데이터에 GETPIVOTDATA 사용

  6. 6

    Power BI-조건이있는 그룹화 된 값 계산

  7. 7

    LINQ-조건이있는 그룹화 된 목록

  8. 8

    한 번에 n 개 행 그룹화 된 데이터 프레임에 사용자 지정 함수 적용

  9. 9

    조건이있는 누적 합계로 그룹화

  10. 10

    Python Pandas는 그룹화 된 데이터 프레임에 함수를 적용합니다.

  11. 11

    Pandas, 문자열 인덱스로 그룹화 된 데이터에 사용자 지정 함수 적용

  12. 12

    Pandas 데이터 세트를 사용하여 기능별로 그룹화합니다. Python에서 그룹화 된 데이터 세트가있는 Cronbach의 알파

  13. 13

    그룹화 된 데이터에 대한 AVG에서 오류 1046 : 명시 적 캐스트 사용

  14. 14

    Pandas의 모든 그룹화 된 데이터에 정렬 기능을 적용합니까?

  15. 15

    그룹화 된 데이터에 대해 반복적으로 ANOVA (ezANOVA 사용) 수행

  16. 16

    Python에서 데이터 프레임별로 그룹화 된 여러 기능을 적용하십시오.

  17. 17

    중첩 된 foreach를 사용하여 데이터 그룹화

  18. 18

    Python에서 그룹화 된 데이터 프레임 사용자 지정 정렬

  19. 19

    Mvvmcross를 사용하여 Xamarin의 UITableview에 그룹화 된 데이터 바인딩

  20. 20

    그룹화 된 pandas 데이터 프레임에서 모든 값 조합을 얻는 최적의 방법이 있습니까?

  21. 21

    그룹화 된 data.table이있는 rollmean은 논리적

  22. 22

    KMeans 클러스터별로 그룹화 된 데이터에 액세스하는 효율적인 방법

  23. 23

    그룹화 된 데이터 프레임에 기능을 적용하고 여러 출력을 데이터 프레임에 저장

  24. 24

    모든 그룹에 조건이있는 그룹을 사용하여 데이터 필터링

  25. 25

    seaborn 또는 matplotlib를 사용하여 그룹화 된 상자 그림에 대한 데이터 형식 지정

  26. 26

    Pandas를 사용하여 데이터 프레임에서 (그룹화 된) 막대 차트를 그리는 방법

  27. 27

    그룹화 된 데이터의 명명 된 열을 사용하여 MySQL Group by

  28. 28

    r에서 그룹화 된 데이터 필터링

  29. 29

    T-SQL 그룹화 된 데이터에 카운터 추가

뜨겁다태그

보관