2
我有一個熊貓數據框data
具有下列交易數據:添加新列大熊貓數據幀生成NaN
A date
0 M000833 2016-08-01
1 M000833 2016-08-01
2 M000833 2016-08-02
3 M000833 2016-08-02
4 M000511 2016-08-05
我想,每天多次訪問訪問次數(的計數新列應該是視爲1)每個消費者。
所以,我想這一點:
import pandas as pd
data['noofvisits'] = data.groupby(['A'])['date'].nunique()
當我剛剛運行的語句,而不將其分配給數據框,我得到所需的輸出熊貓系列。然而,上面的語句導致:
A date noofvisits
0 M000833 2016-08-01 NaN
1 M000833 2016-08-01 NaN
2 M000833 2016-08-02 NaN
3 M000833 2016-08-02 NaN
4 M000511 2016-08-05 NaN
預期輸出是:
A date noofvisits
0 M000833 2016-08-01 2
1 M000833 2016-08-01 2
2 M000833 2016-08-02 2
3 M000833 2016-08-02 2
4 M000511 2016-08-05 1
有什麼不對的這種做法?爲什麼列noofvisits會導致NAs而不是計數值?
感謝您的解釋。 – TUSHAr
關於如何使用lambda函數而不是nunique處理類似場景的任何指針? – TUSHAr
'df ['noofvisits'] = df.groupby(['A'])['date']。transform(lambda x:do_something(x))' – EdChum