好吧,所以我希望我们不需要为此提供示例,但是假设我们有一个 DataFrame,其中包含 100k 行和 50+ 个 Index 实例是完全相同的 DateTime。
按时间对我的 DataFrame 进行排序的最快方法是什么,但是如果存在平局,请选择第二列进行排序。
所以:
Sort By Time
If Duplicate Time, sort by 'Cost'
如果您按您希望它们排序的顺序传递列列表,它将按第一列排序,然后是第二列
df = DataFrame({'a':[1,2,1,1,3], 'b':[1,2,2,2,1]})
df
Out[11]:
a b
0 1 1
1 2 2
2 1 2
3 1 2
4 3 1
In [13]:
df.sort(columns=['a','b'], inplace=True)
df
Out[13]:
a b
0 1 1
2 1 2
3 1 2
1 2 2
4 3 1
所以对于你的例子
df.sort(columns=['Time', 'Cost'],inplace=True)
会工作
编辑
它指出(@AndyHayden)如果您在补充列中嵌套了 NaN,则存在错误,请参阅此SO并且存在GitHub 问题,这在您的情况下可能不是问题,但需要注意。