我正在使用Python dask
处理大型csv面板数据集(超过10GB)。
数据框看起来像
stock date time spread time_diff
VOD 01-01 9:05 0.01 0:07
VOD 01-01 9:12 0.03 0:52
VOD 01-01 10:04 0.02 0:11
VOD 01-01 10:15 0.01 0:10
VOD 01-01 10:25 0.03 0:36
VOD 01-01 11:01 0.02 0:03
VOD 01-01 10:04 0.02 0:09
VOD 01-01 10:15 0.01 0:10
VOD 01-01 10:25 0.03 0:39
VOD 01-01 11:04 0.02 22:00
VOD 01-02 9:04 0.02 0:05
... ... ... .... ...
BAT 01-01 13:05 0.04 10:02
BAT 01-02 9:07 0.05 0:03
BAT 01-02 9:10 0.06 0:04
列time_diff是使用代码的两个观测值之间的时间差:
df['time_diff']=df['time'].shift(-1)-df['time']
我想计算每天每只股票的时间加权价差,但是在删除/排除每个股票日的最后观察值时出现问题。即我要删除/排除这些观察结果
stock date time spread time_diff
VOD 01-01 11:04 0.02 22:00
BAT 01-01 13:05 0.04 10:02
... ... ... .... ...
因为它们的时差包括第二天的变量。
这里的问题是如何在pandas
或dask
数据框中删除/排除每个股票日的最后观察值。谢谢。
答案 0 :(得分:1)
首先对列进行分组以获取“每日库存”数据。然后,使用带有负索引的tail排除最后一行。
<div class="school">
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="my-child">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="my-child">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
<div class="class-room">
<div class="my-child">Child</div>
</div>
<div class="class-room">
<div class="other">Child</div>
</div>
</div>