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'])' –