37,719
社区成员
发帖
与我相关
我的任务
分享
df=pd.DataFrame(np.random.randn(5,5))
print(df)
print(df.apply(lambda x: x.sum()))
df1=df.loc[0].sample(3)
print(df1)
print(df1.apply(lambda x: x.sum()))
0 1 2 3 4
0 -2.021641 0.202247 -0.357294 -0.308477 0.301995
1 1.395682 1.627884 -0.156677 0.768417 -0.348573
2 1.143972 1.952319 -0.797111 1.719115 0.636497
3 0.819878 -0.756803 -0.926412 0.177137 -0.354646
4 -0.640460 0.181148 1.037831 -0.864291 0.145361
上面是生成的数据
0 0.697431
1 3.206794
2 -1.199663
3 1.491900
4 0.380635
dtype: float64
上面是每列 求和的结果
Traceback (most recent call last):
File "E:/2017/Anaconda3/pandasExamples/test.py", line 15, in <module>
print(df1.apply(lambda x: x.sum()))
File "C:\Users\sin\Anaconda3\lib\site-packages\pandas\core\series.py", line 2294, in apply
mapped = lib.map_infer(values, f, convert=convert_dtype)
File "pandas\src\inference.pyx", line 1207, in pandas.lib.map_infer (pandas\lib.c:66124)
File "E:/2017/Anaconda3/pandasExamples/test.py", line 15, in <lambda>
print(df1.apply(lambda x: x.sum()))
AttributeError: 'float' object has no attribute 'sum'
4 0.301995
3 -0.308477
0 -2.021641
Name: 0, dtype: float64
这是在第一行里随机取的3个数据,想对这3个数据求和时,报错了,这是什么情况呢?