DataFrame.groupby()에서 보 이 는 여러 가지 용법 에 대한 상세 한 설명
3901 단어 DataFrame.groupby()사용법
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
보다
import pandas as pd
df = pd.DataFrame({'Gender' : [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
'name' : [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
'income' : [4.5, 2.9, 3.8, 3.7, 4.0, 4.1, 1.9, 4.1, 3.2],
'expenditure' : [1.5, 1.9, 2.8, 1.7, 4.1, 2.5, 1.1, 3.4, 1.2]
})
#
df_expenditure_mean = df.groupby(['Gender']).mean()
#
df_expenditure_mean = df.groupby(['Gender', 'name']).mean()
#
df_expenditure_mean = df.groupby(['Gender', 'name'])['income'].mean()
출력 예시:보 이 는 2:groupby.sum()후 계층 색인 levels 위로 이동 하 는 문 제 를 해결 합 니 다.
위의 그림 에서 출력 2 는 DataFrame 의 형식 이지 만 다른 표 와 일치 해 야 할 때 이 형식 은 좀 번 거 롭 습 니 다.데이터 와 일치 할 때 우리 가 필요 로 하 는 데이터 형식 은 열 이름 이 첫 줄 에 있 고 데이터 줄 에 도 있 을 수 없습니다. Gender 열 과 같은 병합 셀 입 니 다.그래서 우 리 는 약간의 조정 을 해 야 한다.asindex false Ture 。
# , as_index
df_expenditure_mean = df.groupby(['Gender', 'name'], as_index=False).mean()
출력:보 이 는 3:groupby.apply()후 계층 색인 levels 위로 이동 하 는 문 제 를 해결 합 니 다.
보 이 는 2 에서 우 리 는 알 고 있 습 니 다.매개 변수 as 를 사용 합 니 다.index 는 groupby 의 결 과 를 그룹 태그 로 색인 하지 않 지만 나중에 사용 할 수 있 습 니 다. groupby.apply()에서 발견,asindex 매개 변수 가 효 과 를 잃 었 습 니 다.다음 과 같은 예 에서 보 듯 이:
# as_index=False,
df_apply = df.groupby(['Gender', 'name'], as_index=False).apply(lambda x: sum(x['income']-x['expenditure'])/sum(x['income']))
df_apply = pd.DataFrame(df_apply,columns=[' '])# dataframe
출력:해결 방법: dfapply_index = df_apply.reset_index()
# df_apply_index = df_apply.reset_index()
df_apply = df.groupby(['Gender', 'name'], as_index=False).apply(lambda x: sum(x['income']-x['expenditure'])/sum(x['income']))
df_apply = pd.DataFrame(df_apply,columns=[' '])# dataframe
df_apply_index = df_apply.reset_index()
출력:보 이 는 4:groupby 함수 의 그룹 결 과 를 DataFrame 로 저장 합 니 다.
보 이 는 1 의 출력 3 은 분명 하 다. Series,DataFrame 형식의 데이터 로 변환 해 야 합 니 다.
# , DataFrame
df_expenditure_mean = df.groupby(['Gender', 'name'], as_index=False)['income'].mean()
df_expenditure_mean = pd.DataFrame(df_expenditure_mean)# dataframe
df_expenditure_mean.rename(columns={'income':' '}, inplace = True)
출력:DataFrame.groupby()에 보 이 는 다양한 용법 에 대한 자세 한 설명 은 여기까지 입 니 다.DataFrame.groupby()용법 에 관 한 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Qiita 내에서 게시한 기사를 카테고리별로 표시하는 방법기술 메모로서 Qiita를 시작해 보았지만 기사가 분류되지 않기 때문에 나중에 보답하기 어려운 것이 밝혀졌다 하테나 블로그 등 다른 블로그라면 게시일이나 태그로 분류된다 나중에 기사를보고 싶다 Qiita 내의 검색 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.