[英]Pandas dataframe not properly sorted
我有幾個 excel 數據文件,每個文件都引用不同的時間(即 0h、24h、48h、...),並且包含感興趣數據的列被命名為:'Product' 和 'Value'。 我使用以下內容連接了這些文件:
result = pd.concat([pd.read_excel(file) for file in filenames], keys=t_list, names=['t'])
其中 filenames 是一個包含 excel 文件的列表,t_list 是一個包含時序的列表,'t' 是帶有時序的新創建列的名稱。 到目前為止一切順利,我得到了一個新的 dataframe 結構如下:
串聯 Dataframe:
但是,如果我按以下方式排序:
result['Product'].astype(str)
result.sort_values('Product', ascending=True)
我找到了一些物品的正確順序,但沒有找到其他物品。 確實,我得到以下內容:
Dataframe 未正確排序:
有人可以對此有所了解嗎?
有人可以對此有所了解嗎?
sort_values的默認排序算法不穩定,因此具有相等Product
的元素的順序可能與排序前不同。 為避免這種情況,您可能會選擇在sort_values
中使用kind="mergesort"
。
而不是傳遞'Products'
,而是傳遞您要排序的列的列表。
如果您想先按“產品”排序,然后按“價值”排序,則如下所示:
result.sort_values(['Product', 'Value'], ascending=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.