【发布时间】:2019-05-26 12:25:30
【问题描述】:
我正在尝试编写一个程序来根据数据集计算一堆统计数据。我有统计数据的名称、计算统计数据的函数以及数据框中结果的位置。剩下的就是如何评估函数并将结果放在结果列中。
我在 python 中见过函数指针的用法
def func():
#do a thing
return f
func()
我已经看到在一个数据帧中应用一些东西,比如
df['col1'] = 5 + df['col2']
但是结合下面的概念似乎并不能说明系列对象是不可调用的。我希望有一种方法可以干净地做到这一点,而无需遍历行。
def a():
#do a thing...
return 'a'
def b():
#do a thing
return 'b'
def c():
#do a thing
return 'c'
df = pd.DataFrame([[a,''],[b,''],[c,'']], columns=['func','result'])
func result
0 <function a at 0x000000001775D3C8>
1 <function b at 0x000000001775D438>
2 <function c at 0x000000001775D4A8>
df['result'] = df['func']()
func result
0 <function a at 0x000000001775D3C8> 'a'
1 <function b at 0x000000001775D438> 'b'
2 <function c at 0x000000001775D4A8> 'c'
【问题讨论】:
标签: python pandas python-2.7 function-pointers