2013-02-22 31 views
5

Tôi đang cố gắng sắp xếp một DataFrame (axis = 0) bởi một Series khác được sắp xếp theo một thứ tự cụ thể.Pandas: Sử dụng một pd.Series để sắp xếp một pd.DataFrame với chỉ số

Ví dụ: DataFrame chứa một chỉ số của CountryCodes: 'AUS', 'BWA' .... (Sắp xếp thứ tự chữ cái) Dòng chứa một danh sách các CountryCodes và nó GDP liên quan (Sắp xếp theo GDP)

tôi có thể sử dụng DataFrame.join (Series) không có vấn đề và sau đó sắp xếp cột 'GDP' và sau đó del DF ['GDP'] nhưng có cách nào để làm điều này trực tiếp mà không cần tham gia các cấu trúc?

+0

Bạn nên cung cấp một df mẫu ngắn, series, và kết quả mong muốn cùng với một số mã mô tả những gì bạn đã cố gắng. –

Trả lời

4

Bạn có thể reindex bởi chỉ số của Series (sắp xếp):

In [1]: df = pd.DataFrame([[1, 2], [3, 4]], index=list('ab')) 

In [2]: s = pd.Series([2,1], index=list('ab')) 

In [3]: s 
Out[3]: 
a 2 
b 1 

In [4]: s.sort() 

In [5]: df.reindex(s.index) 
Out[5]: 
    0 1 
b 3 4 
a 1 2 
Các vấn đề liên quan