2
我有下面的代碼:使用適用於()與熊貓系列
import pandas as pd
frame = pd.DataFrame(np.random.randn(4,3), columns=list('bde'),index=['Utah','Ohio','Texas','Oregon'])
frame
b d e
Utah 0.479210 0.161892 -1.315375
Ohio -0.572543 0.080203 -0.446178
Texas 0.052954 0.043417 0.365056
Oregon 1.462631 0.244453 2.207720
f = lambda x: x.max()-x.min()
frame.apply(f)
這導致到:
b 2.035174
d 0.201035
e 3.523095
dtype: float64
我試着去了解如何將拉姆達適用於特定列只讓我只想將lambda應用於'd'列。所以這是我做過什麼
frame['d'].apply(f)
這結果雖然錯誤: AttributeError的:「浮動」對象有沒有屬性「最大」
type(frame['d'])
pandas.core.series.Series
frame['d'].dtype
dtype('float64')
我嘗試調試它。似乎frame ['d']是Series的類型,並且此係列中的每個值都是一個float,而float不具有min/max屬性。
我以爲我只是在這裏錯過了一些簡單的東西,但是我對Python和熊貓的有限知識給了我很大的困難。我如何才能將lambda應用於列'd'?
在這種情況下,你可以直接運行'f'該系列通過'f(frame ['d'])' –