我想按值降序對系列進行排序,但我還需要尊重索引的字母順序。假設系列是這樣的:
(index)
a 2
b 5
d 3
z 1
t 1
g 2
n 3
l 6
f 6
f 7
我需要將其轉換為以下系列而不轉換為DataFrame,然后將其轉換為系列,
出去:
(index)
f 7
f 6
l 6
b 5
d 3
n 3
a 2
g 2
t 1
z 1
我用過lexsort,但不合適。它按升序對值和索引進行排序。
uj5u.com熱心網友回復:
您可以先對索引進行排序,然后使用穩定的演算法對值進行排序:
s.sort_index().sort_values(ascending=False, kind='stable')
輸出:
f 7
l 6
b 5
d 3
n 3
a 2
g 2
t 1
z 1
dtype: int64
使用的輸入:
s = pd.Series({'a': 2, 'b': 5, 'd': 3, 'z': 1, 't': 1, 'g': 2, 'n': 3, 'l': 6, 'f': 7})
uj5u.com熱心網友回復:
Series.sort_values(axis=0, ascending=False)
鑒于您提供的資訊,您可以嘗試一下是否可行。
uj5u.com熱心網友回復:
最后,我找到了代碼解決方案:
y = s.nlargest(n)
n:要回傳的最大值的數量。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/482217.html
標籤:Python 熊猫 排序 系列 numpy-ndarray
上一篇:按照元素的特定順序對串列進行排序
