基于两列排序数据时遇到问题!
一般情况下,我想在数据框上设置一个时区更改的时区。不幸的是
tz.localize("Europe/Berlin", infer_dst=True)
因数据未正确排序而引发错误(至少我认为这就是原因..)
所以我尝试了以下数据框的排序:
index value test1 test2
2015-10-25 02:00:00 10 2015-10-25 02:00:00 0
2015-10-25 02:00:00 20 2015-10-25 02:00:00 1
2015-10-25 02:15:00 30 2015-10-25 02:15:00 0
2015-10-25 02:15:00 40 2015-10-25 02:15:00 1
2015-10-25 02:30:00 60 2015-10-25 02:30:00 0
2015-10-25 02:30:00 70 2015-10-25 02:30:00 1
2015-10-25 02:45:00 80 2015-10-25 02:45:00 0
2015-10-25 02:45:00 90 2015-10-25 02:45:00 1
获取以下输出
index value test1 test2
2015-10-25 01:45:00 5 2015-10-25 01:45:00 0
2015-10-25 02:00:00 10 2015-10-25 02:00:00 0
2015-10-25 02:15:00 30 2015-10-25 02:15:00 0
2015-10-25 02:30:00 60 2015-10-25 02:30:00 0
2015-10-25 02:45:00 80 2015-10-25 02:45:00 0
2015-10-25 02:00:00 20 2015-10-25 02:00:00 1
2015-10-25 02:15:00 40 2015-10-25 02:15:00 1
2015-10-25 02:30:00 70 2015-10-25 02:30:00 1
2015-10-25 02:45:00 90 2015-10-25 02:45:00 1
2015-10-25 03:00:00 90 2015-10-25 03:00:00 1
我试过了:
df.sort(["test1","test2"],ascending=[1, 1])
但是,由于某种原因,订单不会改变。有什么想法吗?
嗨,我扩展了所需的输出
答案 0 :(得分:0)
您只需更改列的顺序并按["test2","test1"]
排序:
>>> df.sort(["test2","test1"],ascending=[1, 1])
index value test1 test2
0 2015-10-25 02:00:00 10 2015-10-25 02:00:00 0
2 2015-10-25 02:15:00 30 2015-10-25 02:15:00 0
4 2015-10-25 02:30:00 60 2015-10-25 02:30:00 0
6 2015-10-25 02:45:00 80 2015-10-25 02:45:00 0
1 2015-10-25 02:00:00 20 2015-10-25 02:00:00 1
3 2015-10-25 02:15:00 40 2015-10-25 02:15:00 1
5 2015-10-25 02:30:00 70 2015-10-25 02:30:00 1
7 2015-10-25 02:45:00 90 2015-10-25 02:45:00 1