【问题标题】:Evaluate Function Pointer column and save results in Pandas评估函数指针列并将结果保存在 Pandas 中
【发布时间】: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


    【解决方案1】:

    或者你开始寻找替代品,然后你找到了答案……see this other SO question

    df['result'] = df.apply(lambda row: row['func'](), axis=1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 2021-12-16
      相关资源
      最近更新 更多