2016-11-25 10 views
0

データフレーム 'xyz'があり、単純な計算に基づいて新しい列を作成したいが、以下のコードを実行すると結果はNaNになる。私はACCOUNT_IDごとのデータを持っている日数を:私が作成したい=集計からパンダの列を作成する

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。

コード私が実行しています:

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

これはまさに私が探していたものです!ありがとう、@ジュリアンSpronck! – Levine

+0

@Levineよろしくお願いします。:-) –

1

は、ここで代替ソリューションである

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

おかげで、@AlexG。私はこれを実行したが、それは日付のすべてのインスタンスを数えた。私が混乱して言葉を言ったら謝ります。私の望む結果は、日付ごとにaccount_idのカウントを持つことですが、私は 'account_id'で 'date'を切り替えて、私が探していた結果を得ました。ありがとう! – Levine

+0

私のせいです。乾杯! – AlexG

関連する問題