python中有沒有apply
的實現?有人可以用簡單的功能舉個例子嗎?python中有應用的實現嗎
我已經嘗試過這一點,拋出一個錯誤
dfsub.apply(dfsub,function(x){sum(x))
其中dfsub
是有兩列a和c具有整數值數據框一個,我想知道每行的總和?
python中有沒有apply
的實現?有人可以用簡單的功能舉個例子嗎?python中有應用的實現嗎
我已經嘗試過這一點,拋出一個錯誤
dfsub.apply(dfsub,function(x){sum(x))
其中dfsub
是有兩列a和c具有整數值數據框一個,我想知道每行的總和?
不完全確定apply
應該做什麼,但我認爲您正在尋找map
函數。
In [1]: dfsub = [(1, 2), (3, 4), (5, 6)]
In [2]: map(sum, dfsub)
Out[2]: [3, 7, 11]
只需通過sum
功能:
>>> import pandas as pd
>>> dfsub = pd.DataFrame({'a': [1,2,3,4], 'c': [4,5,6,7]})
>>> dfsub
a c
0 1 4
1 2 5
2 3 6
3 4 7
>>> dfsub.apply(sum)
a 10
c 22
>>> dfsub.apply(sum, axis=1)
0 5
1 7
2 9
3 11
dtype: int64
看來你試圖定義 「在線」 的功能,使用JavaScript語法:
dfsub.apply(function(x){sum(x)})
(請注意,因爲我們正在調用方法,因此dfsub
已經隱式傳遞。)
即使在Python中工作,它也不得不明確return
的值。但是我們沒有大括號的內聯函數。取而代之的是,我們有lambda
S:
dfsub.apply(lambda x: sum(x))
這是一個表達,這就是爲什麼沒有return
。
這就是說,在目前的情況下,沒有任何需要。 sum
已經是我們需要通過的事情了,正如@filtrutru的答案所示。
你試過['map(sum,dfsub)'](http://docs.python.org/2/library/functions.html#map)嗎?否則,你期望'申請'做什麼? –
@tobias_k,好像OP在使用熊貓。參見[pandas.DataFrame.apply](http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.apply.html)。 – falsetru
@falsetru你可能是對的,我不知道'熊貓'那麼好。但在這種情況下,問題是措辭不良,因爲OP似乎知道「應用」功能,只是不知道如何使用它。 –