Bạn có thể sử dụng mean
phương pháp DataFrame và phương pháp dòng sort_values
:
In [11]: df = pd.DataFrame(np.random.randn(4,4), columns=list('ABCD'))
In [12]: df
Out[12]:
A B C D
0 0.933069 1.432486 0.288637 -1.867853
1 -0.455952 -0.725268 0.339908 1.318175
2 -0.894331 0.573868 1.116137 0.508845
3 0.661572 0.819360 -0.527327 -0.925478
In [13]: df.mean()
Out[13]:
A 0.061089
B 0.525112
C 0.304339
D -0.241578
dtype: float64
In [14]: df.mean().sort_values()
Out[14]:
D -0.241578
A 0.061089
C 0.304339
B 0.525112
dtype: float64
Sau đó, bạn có thể sắp xếp lại các cột bằng reindex_axis
:
In [15]: df.reindex_axis(df.mean().sort_values().index, axis=1)
Out[15]:
D A C B
0 -1.867853 0.933069 0.288637 1.432486
1 1.318175 -0.455952 0.339908 -0.725268
2 0.508845 -0.894331 1.116137 0.573868
3 -0.925478 0.661572 -0.527327 0.819360
Lưu ý: Trong các phiên bản trước đó của gấu trúc, sort_values
từng là order
, nhưng order
là d eprecated như là một phần của 0,17 để phù hợp hơn với các phương pháp phân loại khác.
Nguồn
2013-07-18 00:14:06
thêm vào sách dạy nấu ăn? – Jeff
Có vẻ như 'thứ tự' hiện không được chấp nhận, và' sort_values' (được thêm vào trong phiên bản 0.17.0) nên được sử dụng thay thế. – bli
@bli cảm ơn bạn! Tôi thực sự cần phải viết một kịch bản để cập nhật tất cả các câu trả lời gấu trúc của tôi (tôi nghi ngờ có một vài trăm có thể làm với một bản cập nhật) .... –