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