編寫一個 Python 程式碼,找到給定資料幀中每一列的第二小值


假設,你有一個數據幀,並且每一列中的第二小值的結果為:

Id       2
Salary 30000
Age    23

為了解決這個問題,我們將按照以下步驟進行操作 -

解決方案

  • 定義一個數據幀

  • 在 create lambda 函式中設定 df.apply() 函式,並將變數(如 x)設定為訪問所有列,並檢查表示式:

x.sort_values().unique()[1],設定 axis=0 以返回第二小值,如:

result = df.apply(lambda x: x.sort_values().unique()[1], axis=0)

示例

讓我們檢查一下以下程式碼以更好地理解 -

import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5,6,7,8,9,10],
'Salary':[20000,30000,50000,40000,80000,90000,350000,55000,60000,70000],
            'Age': [22,23,24,25,26,25,26,27,25,24]
      })
print("DataFrame is:\n",df)
print("Second lowest value of each column is:")
result = df.apply(lambda x: x.sort_values().unique()[1], axis=0)
print(result)

輸出

DataFrame is:
 Id Salary Age
0 1 20000  22
1 2 30000  23
2 3 50000  24
3 4 40000  25
4 5 80000  26
5 6 90000  25
6 7 350000 26
7 8 55000  27
8 9 60000  25
9 10 70000 24
Second lowest value of each column is:
Id       2
Salary 30000
Age    23
dtype: int64

更新日期:2021 年 2 月 25 日

963 次瀏覽

開啟您的 職業生涯

完成課程取得認證

開始學習
廣告