注册 登录
编程论坛 Python论坛

关于lamda函数请教

zhiyong75 发布于 2020-03-15 11:36, 1341 次点击
df1 = pd.DataFrame({'A': [0, 100,2], 'B': [4, 4,4]})
df2 = pd.DataFrame({'A': [10, 1], 'B': [3, 3]})
take_smaller = lambda s1, s2: s1 if s1.sum() < s2.sum() else s2
(df2, take_smaller)
结果输出如下:
Out[133]:
    A  B
0  10  3
1   1  3

我的问题:如果s1和s2代表的就是例子中的0,100,2.....,那么既然df1的A列第一个元素是0,df2的A列第一个元素是10,s1.sum() < s2.sum()成立,就应该返回df1的0啊,为什么结果是返回df2的10? 多谢大侠指教!
1 回复
#2
phiplato2020-04-24 21:22
df1.sum()<df2.sum()
Out[14]:
A    False
B    False
dtype: bool
1