我的问题与我以前的问题有关,但有所不同。因此,创建了一个新帖子。
我想在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
有什么建议吗?
谢谢
答案 0 :(得分:1)
尝试transform
和np.size
:
df['num_per_10_min'] = (df.groupby(['id1',df['date_time'].dt.floor('10Min')])
.date_time.transform(np.size))