2016-11-25 2 views
0

데이터 프레임이 'xyz'이고 간단한 계산을 기반으로 새 열을 만들고 싶지만 아래 코드를 실행하면 결과가 NaN입니다. 내가 ACCOUNT_ID 당 데이터가 일수 :집계에서 판다에 열 만들기

XYZ =

account_id date  
0 123  2016-01-01 
1 124  2016-01-01 
2 125  2016-01-01 
3 126  2016-01-01 
4 123  2016-01-02 
5 124  2016-01-02 
6 125  2016-01-02 
7 126  2016-01-02 

새로운 열은 내가 만들려고합니다.

코드 나 실행 해요 :

xyz['new_column'] = xyz.groupby('account_id').date.nunique() 

결과 내가 얻을 :

account_id date   new_column 
0 123  2016-01-01  NaN 
1 124  2016-01-01  NaN 
2 125  2016-01-01  NaN 
3 126  2016-01-01  NaN 
4 123  2016-01-02  NaN 
5 124  2016-01-02  NaN 
6 125  2016-01-02  NaN 
7 126  2016-01-02  NaN 

사전에 감사! 당신은 transform을 사용할 수 있습니다

xyz['new_column'] = xyz.date.map(dict(xyz.date.value_counts())) 

답변

1

:

+0

이것은 내가 찾고 있었던 바로 그 것이다! 고마워, 쥬리앙 스프론! – Levine

+0

@Levine 당신을 환영합니다 :-) –

1

여기에 대체 솔루션입니다

xyz['new_column'] = xyz.groupby('account_id').date.transform('nunique') 
+0

감사합니다, @AlexG. 나는 이것을 달렸지 만 그것은 날짜의 모든 경우를 세었다. 내가 혼란스럽게 말하면 사과드립니다. 내 원하는 결과는 날짜 당 account_id의 개수를 가지고 있지만 'account_id'로 'date'를 전환하고 내가 찾고있는 결과를 얻었습니다. 감사! – Levine

+0

죄송합니다. 내 잘못입니다. 환호 – AlexG

관련 문제