python中是否有apply的实现
python中是否有apply的实现?有人能举一个简单函数的例子吗 我已经试过了,它会出错python中是否有apply的实现,python,python-2.7,Python,Python 2.7,python中是否有apply的实现?有人能举一个简单函数的例子吗 我已经试过了,它会出错 dfsub.apply(dfsub,function(x){sum(x)) 其中dfsub是一个包含两列a和c的数据帧,其中a和c有整数值,我想知道每行的总和?不完全确定应用程序应该做什么,但我认为您正在寻找该函数 In [1]: dfsub = [(1, 2), (3, 4), (5, 6)] In [2]: map(sum, dfsub) Out[2]: [3, 7, 11] 不完全确定apply
dfsub.apply(dfsub,function(x){sum(x))
其中dfsub是一个包含两列a和c的数据帧,其中a和c有整数值,我想知道每行的总和?不完全确定应用程序应该做什么,但我认为您正在寻找该函数
In [1]: dfsub = [(1, 2), (3, 4), (5, 6)]
In [2]: map(sum, dfsub)
Out[2]: [3, 7, 11]
不完全确定apply应该做什么,但我认为您正在寻找函数
In [1]: dfsub = [(1, 2), (3, 4), (5, 6)]
In [2]: map(sum, dfsub)
Out[2]: [3, 7, 11]
简单传递函数:
>>> 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
简单传递函数:
>>> 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中有效,它也必须显式返回值。但是我们没有带大括号的内联函数。相反,我们有lambdas:
这是一个表达式,这就是为什么没有返回
也就是说,在目前的情况下,没有必要这样做。sum已经是我们需要传递的东西,如@falsetru的回答所示。您似乎试图使用Javascript语法在线定义函数:
dfsub.apply(function(x){sum(x)})
请注意,由于我们正在调用一个方法,dfsub已经隐式传递
即使这在Python中有效,它也必须显式返回值。但是我们没有带大括号的内联函数。相反,我们有lambdas:
这是一个表达式,这就是为什么没有返回
也就是说,在目前的情况下,没有必要这样做。正如@falsetru的回答所示,sum已经是我们需要通过的东西了。你试过了吗?否则,你到底希望apply做什么?@tobias_k,OP似乎在使用熊猫。你看。@falsetru你可能是对的,我不太了解熊猫。但在这种情况下,问题的措辞是错误的,因为OP似乎知道应用函数,只是不知道如何使用它。@user3226869,如果您是指pandas DataFrame,请用pandas标记问题。您尝试过吗?否则,你到底希望apply做什么?@tobias_k,OP似乎在使用熊猫。你看。@falsetru你可能是对的,我不太了解熊猫。但在这种情况下,问题的措辞是不恰当的,因为OP似乎知道应用函数,只是不知道如何使用它。@user3226869,如果您是指pandas DataFrame,请用pandas标记问题。应该是dfsub.applysum,axis=1,因为OP要求行sums@JaminSore,我不确定OP到底想要什么。但是增加了一个你建议的。谢谢您的评论。应该是dfsub.applysum,axis=1,因为OP要求行sums@JaminSore,我不确定OP到底想要什么。但是增加了一个你建议的。谢谢你的评论。