这是我的当前数据框。我希望通过以下3个步骤转换数据框。我需要删除重复的时间戳,但想根据“Side”列保留最大值或最小值。请帮忙 :)
我尝试过
索引类型为日期格式,价格为浮点数,边际为整数,数据框有8000+行。
我尝试过
df = df [~df.index.duplicated(keep ='first')]
,但它没有保留最大或最小值的选项。索引类型为日期格式,价格为浮点数,边际为整数,数据框有8000+行。
Price Side
2021-12-13 00:00:03.285 51700 4
2021-12-13 00:00:03.315 51675 3
2021-12-13 00:00:03.333 50123 4
2021-12-13 00:00:03.333 50200 3
2021-12-13 00:00:03.333 50225 3
2021-12-13 00:00:03.333 50250 3
2021-12-13 00:00:03.421 50123 4
2021-12-13 00:00:03.421 50117 4
2021-12-13 00:00:03.421 50110 4
2021-12-13 00:00:03.671 50100 3
- 如果时间重复,且边是“3”,则保留最高值;如果时间重复且边是“4”,则保留最低值。
Desired Output:
Price Side
2021-12-13 00:00:03.285 51700 4
2021-12-13 00:00:03.315 51675 3
2021-12-13 00:00:03.333 50123 4
2021-12-13 00:00:03.333 50250 3
2021-12-13 00:00:03.421 50110 4
2021-12-13 00:00:03.671 50100 3
- 创建新的列"3"和"4",并填入相应的价格
Desired Output:
Price 3 4
2021-12-13 00:00:03.285 51700 0 51700
2021-12-13 00:00:03.315 51675 51675 0
2021-12-13 00:00:03.333 50123 0 50123
2021-12-13 00:00:03.333 50250 50250 0
2021-12-13 00:00:03.421 50110 0 50110
2021-12-13 00:00:03.671 50100 50100 0
- 将同一列中之前的数值填入空白处
Desired Output:
Price 3 4
2021-12-13 00:00:03.285 51700 0 51700
2021-12-13 00:00:03.315 51675 51675 51700
2021-12-13 00:00:03.333 50123 51675 50123
2021-12-13 00:00:03.333 50250 50250 50123
2021-12-13 00:00:03.421 50110 50250 50110
2021-12-13 00:00:03.671 50100 50100 50110
时间
和方向
分组。 - user17242583