在熊猫数据框中找到分组日期时间列的时间段中的最大交易数

时间:2019-04-23 17:20:54

标签: python python-3.x pandas dataframe

我的问题与我以前的问题有关,但有所不同。因此,创建了一个新帖子。

我想在10分钟的bin中获取熊猫数据框中datetime列的最大计数。

我的桌子:

 id1       date_time               adress       a_size         
 reom      2005-8-20 22:51:10      75157.5413   ceifwekd         
 reom      2005-8-20 22:55:25      3571.37946   ceifwekd         
 reom      2005-8-20 11:21:01      3571.37946   tnohcve          
 reom      2005-8-20 11:22:09      97439.219    tnohcve          
 reom      2005-8-20 11:25:09      97439.219    efgrcaw          
 penr      2005-8-20 17:07:16     97439.219    ceifwekd          
 penr      2005-8-20 19:10:37      7391.6258    ceifwekd         
 ....

我需要:

 id1       date_time               adress       a_size         max_transaction
 reom      2005-8-20 22:51:10      75157.5413   ceifwekd         2
 reom      2005-8-20 22:55:25      3571.37946   ceifwekd         2
 reom      2005-8-20 11:21:01      3571.37946   tnohcve          3 
 reom      2005-8-20 11:22:09      97439.219    tnohcve          3
 reom      2005-8-20 11:25:09      97439.219    efgrcaw          3
 penr      2005-8-20 17:07:16     97439.219    ceifwekd          1
 penr      2005-8-20 19:10:37      7391.6258    ceifwekd         1

max_transaction是10分钟的时段内的最大交易数。

例如

reom      2005-8-20 11:21:01      3571.37946   tnohcve          3 
reom      2005-8-20 11:22:09      97439.219    tnohcve          3
reom      2005-8-20 11:25:09      97439.219    efgrcaw          3

这里,“ reom”从11:21:01-11:25:09进行了3笔交易,交易时间为10分钟。

我的代码:

 df['num_per_10_min'] = df.groupby(['id1',df['date_time'].dt.floor('10Min')])['date_time'].agg('count')    

不起作用。

  TypeError: incompatible index of inserted column with frame index

有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:1)

尝试transformnp.size

 df['num_per_10_min'] = (df.groupby(['id1',df['date_time'].dt.floor('10Min')])
                          .date_time.transform(np.size))
相关问题