簡體   English   中英

在Pandas數據幀上應用函數

[英]Apply function on Pandas dataframe

我是pandas數據幀的新手,我想為每個列應用一個函數,以便計算每個元素的x,x / max列。

我引用了這個問題,但無法訪問每列的最大值。 在此先感謝Pandas DataFrame:將函數應用於所有列

輸入:

      A  B  C  D
   0  8  3  5  8
   1  9  4  0  4
   2  5  4  3  8
   3  4  8  5  1

輸出:

      A     B     C    D
   0  8/9  3/8  5/5  8/8
   1  9/9  4/8  0/5  4/8
   2  5/9  4/8  3/5  8/8
   3  4/9  8/8  5/5  1/8

這樣的事情應該有效:

>>> from pandas import DataFrame
>>> 
>>> df = DataFrame({"A": [8,9,5,4], "B": [3,4,4,8], "C": [5,0,3,5], "D": [8,4,8,1]})
>>> df.max()
A    9
B    8
C    5
D    8
>>> (df * 1.0)/df.max()
          A      B    C      D
0  0.888889  0.375  1.0  1.000
1  1.000000  0.500  0.0  0.500
2  0.555556  0.500  0.6  1.000
3  0.444444  1.000  1.0  0.125

請注意,我將df乘以1.0使得它不再包含int s( .astype(float)也會起作用)以避免整數除法和結果DataFrame為0和1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM