亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 pandas 數據幀的多列中求最小值/最大值?

如何在 pandas 數據幀的多列中求最小值/最大值?

慕婉清6462132 2024-01-04 16:46:53
如何從數據框中獲取多列的一個最小值/最大值?我找不到一種簡單的方法來獲取這些值,只能循環遍歷列或多次轉換數據幀。我認為必須有更好的方法來解決這個問題。例如,這里有一些代碼...import pandas as pddf = pd.DataFrame([[0,1,2,3],                  [6,5,None,pd.NaT],                  [8,None,9,None],                  [None,12,7,14]], columns=list('ABCD'))...這就是數據框的樣子,我想要列“C”和“D”的最小值/最大值。     A     B    C     D0  0.0   1.0  2.0     31  6.0   5.0  NaN   NaT2  8.0   NaN  9.0  None3  NaN  12.0  7.0    14有什么好的方法可以做到這一點?附加說明:兩列 ['C','D'] 的結果應為最小值 (2) 的一個值和最大值 (14) 的一個值
查看完整描述

3 回答

?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

您可以使用,

df[['C','D']].min().min()
2.0

df[['C', 'D']].max().max()
14.0


查看完整回答
反對 回復 2024-01-04
?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

DataFrame.agg與按列表選擇的列一起使用- ['C','D']

df1 = df[['C','D']].agg(['min','max'])

print (df1)

       C   D

min  2.0   3

max  9.0  14

編輯:對于 2 個標量,您可以使用:


s = df[['C','D']].stack()

print (s)

0  C     2

   D     3

2  C     9

3  C     7

   D    14

dtype: object


a = s.max()

print (a)

14


b = s.min()

print (b)

2


查看完整回答
反對 回復 2024-01-04
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

如果您不確定列名稱,并且想在最后 2 列上執行此操作,您可以執行以下操作:


In [2138]: df.iloc[:, -2:].agg(['max', 'min'])

Out[2138]: 

       C   D

max  9.0  14

min  2.0   3


查看完整回答
反對 回復 2024-01-04
  • 3 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號