我有一个600万行的日内数据数据框,如下所示:
closingDate Time Last
1997-09-09 11:30:00-04:00 1997-09-09 11:30:00 100
1997-09-09 11:31:00-04:00 1997-09-09 11:31:00 105
我想以矢量化的方式对我的Last
列进行标准化,方法是将每一行除以包含当天的第一行的价格。这是我的尝试:
df['Last']/df.groupby('closingDate').first()['Last']
分母看起来像这样:
closingDate
1997-09-09 943.25
1997-09-10 942.50
1997-09-11 928.00
1997-09-12 915.75
1997-09-14 933.00
1997-09-15 933.00
但是,这种划分只是给了我一列难解之谜。如何关联要在DateTime索引中广播的部门?
答案 0 :(得分:3)
通常,这是transform
的好用例:
df['Last'] /= df.groupby('closingDate')['Last'].transform('first')
相对于原始DataFrame广播groupby结果,现在可以进行划分了。