Python 在聚合中创建列

Python 在聚合中创建列,python,pandas,Python,Pandas,我有一个数据帧'xyz',我想基于一个简单的计算创建一个新列,但是当我运行下面的代码时,结果是NaN xyz= 我要创建的新列:每个帐户id有数据的天数 我正在执行的代码: xyz['new_column'] = xyz.groupby('account_id').date.nunique() 结果我得到: account_id date new_column 0 123 2016-01-01 NaN 1 124 2

我有一个数据帧'xyz',我想基于一个简单的计算创建一个新列,但是当我运行下面的代码时,结果是NaN

xyz=

我要创建的新列:每个帐户id有数据的天数

我正在执行的代码:

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

提前谢谢

以下是另一种解决方案:

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

以下是另一种解决方案:

xyz['new_column'] = xyz.date.map(dict(xyz.date.value_counts()))
您可以使用:

您可以使用:


谢谢你,阿列克谢。我运行了这个,但它计算了日期的所有实例。如果我用词混乱,我道歉。我期望的结果是每个日期都有帐户id计数,但我用“帐户id”替换了“日期”,得到了我想要的结果。谢谢哎呀,这是我的错。干杯,谢谢,@AlexG。我运行了这个,但它计算了日期的所有实例。如果我用词混乱,我道歉。我期望的结果是每个日期都有帐户id计数,但我用“帐户id”替换了“日期”,得到了我想要的结果。谢谢哎呀,这是我的错。干杯这正是我想要的!谢谢,@Julien Spronck!这正是我要找的!谢谢,@Julien Spronck!
xyz['new_column'] = xyz.groupby('account_id').date.transform('nunique')