簡體   English   中英

Pandas dataframe 未正確排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM