저는 파이썬과 팬더에 대해 상당히 익숙하며 간단한 분할 - 참여 - 적용 방법을 알아 내려고합니다. 내가 겪고있는 문제는 팬더 (Pandas)의 적용 기능에서 돌아 오는 모든 데이터 프레임의 맨 위에 빈 행이 생기고 그 이유가 확실하지 않다는 것입니다. 아무도 설명 할 수 있을까요?팬더를 사용한 후에 데이터 프레임에 빈 행이 표시되는 이유는 무엇입니까?
mean total
flavour <--- Why are there spaces here?
lemon 7.5 2
orange 4.5 2
[2 rows x 2 columns]
가 print(sorbet)
와 비교해 : : 다음 print(sorted_vals)
을한다면 나는이 출력을 얻을
sorbet = pd.DataFrame({
'flavour': ['orange', 'orange', 'lemon', 'lemon'],
'niceosity' : [4, 5, 7, 8]})
def calc_vals(df, target) :
return pd.Series({'total' : df[target].count(), 'mean' : df[target].mean()})
sorbet_grouped = sorbet.groupby('flavour')
sorbet_vals = sorbet_grouped.apply(calc_vals, target='niceosity')
:
다음, 나의 실제 코드 문제를 보여줍니다 최소한의 예입니다
flavour niceosity <--- Note how column names line up
0 orange 4
1 orange 5
2 lemon 7
3 lemon 8
[4 rows x 2 columns]
이 불일치의 원인과 원인 고칠 수 있을까요?
확실하지합니다. – DSM
아, 그래, 그 이유는 groupby/apply 작업 _replaces_ 그룹화 값에 의한 색인 작성과 함께 일반적인 색인 생성입니까? 그 맞습니까? –
예, groupby/apply의 결과는 이름이 지정된 인덱스가있는 새로운 DataFrame이며 이름은 원래 DataFrame이 그룹화 된 열 이름과 일치합니다. – unutbu