假设我有以下 Dataframe :
| 价格|位置|日期时间|
| - ------| - ------| - ------|
| 三十|1个|2023年1月8日|
| 三十|四个|2023年1月8日|
| 一百四十|第二章|2023年1月9日|
| 一百四十|三个|2023年1月9日|
| 五十|1个|2023年1月9日|
| 五十|四个|2023年1月9日|
| 二百六十|第二章|2023年1月9日|
| 二百六十|三个|2023年1月9日|
Dataframe 具有升序排列的"位置"和"日期时间"。
我希望"position"(1和4)中的特定值在相同的"datetime"值中按降序排序,最终结果如下:
| 价格|位置|日期时间|
| - ------| - ------| - ------|
| 三十|四个|2023年1月8日|
| 三十|1个|2023年1月8日|
| 一百四十|第二章|2023年1月9日|
| 一百四十|三个|2023年1月9日|
| 五十|四个|2023年1月9日|
| 五十|1个|2023年1月9日|
| 二百六十|第二章|2023年1月9日|
| 二百六十|三个|2023年1月9日|
我试过这个密码
df_trade = df_trade[df_trade.position == 4 or df_trade.position == 1].sort_values(by = ["position"], ascending = False)
但它给了
ValueError:Series的真值不明确。请使用. empty、. bool()、. item()、. any()或. all()。
我想一定有更好更简单的方法。
1条答案
按热度按时间nfs0ujit1#
将
numpy.lexsort
与使用负值1/4的“位置”系列一起使用:Pandas等效物:
输出: