簡體   English   中英

如何基於熊貓中另一個數據框中的列對數據框進行排序?

[英]How to sort dataframe based on a column in another dataframe in Pandas?

在此處輸入圖片說明

假設我在上圖中有兩個數據幀df1和df2。 我想根據df2的Col2對df1進行排序。

因此,df1的最終結果應該看起來像圖片中的第三個數據幀,其中Col2的值相同,以df2的順序排列。

您可以set_index使用set_indexreindex組合。

試試這個代碼:

df1 = pd.DataFrame({'Col1': ['a','b','c','d','e'], 'Col2': 
['chocolate','chicken','pizza','icecream','cake'] })
Out :
  Col1       Col2
0    a  chocolate
1    b    chicken
2    c      pizza
3    d   icecream
4    e       cake
df2 = pd.DataFrame({'Col1': ['f','g','h','i','j'], 'Col2': ['chicken','cake','icecream','chocolate','pizza'] })
Out :
  Col1       Col2
0    f    chicken
1    g       cake
2    h   icecream
3    i  chocolate
4    j      pizza
df1 = df1.set_index('Col2')
df1 = df1.reindex(index=df2['Col2'])
df1 = df1.reset_index()
Out :
        Col2 Col1
0    chicken    b
1       cake    e
2   icecream    d
3  chocolate    a
4      pizza    c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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