Python 在聚合中创建列
我有一个数据帧'xyz',我想基于一个简单的计算创建一个新列,但是当我运行下面的代码时,结果是NaN xyz= 我要创建的新列:每个帐户id有数据的天数 我正在执行的代码: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['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')