【问题标题】:Python: how can I pass parameters in def to inputs in pandas loc?Python:如何将 def 中的参数传递给 pandas loc 中的输入?
【发布时间】:2021-02-21 13:05:58
【问题描述】:

我想将我的 def 中的参数传递给 pandas loc 中的输入,但我不知道该怎么做,因为 loc 需要定义的标签作为输入。或者有没有其他方法可以在 Python 中执行 Excel INDEX MATCH 等效但不使用loc?非常感谢! 请在下面找到我的代码:

def get_correl_diff_tenor(p1, p2):
        correl = IRCorrMatrix.loc['p1', 'p2']
        return correl

loc['p1', 'p2'] 中的p1p2 是指调用下面矩阵中对应相关值的男高音对。

IRCorrMatrix如下图所示,是一个由tenor对定义的相关矩阵。

         2w    1m    3m    6m    1y    
Tenor
2w     1.00  0.73  0.64  0.57  0.44  
1m     0.73  1.00  0.78  0.67  0.50  
3m     0.64  0.78  1.00  0.85  0.66  
6m     0.57  0.67  0.85  1.00  0.81  
1y     0.44  0.50  0.66  0.81  1.00

【问题讨论】:

    标签: python pandas user-defined-functions


    【解决方案1】:

    IIUC 从 'p1', 'p2' 中删除 '' 以从函数中传递变量:

    IRCorrMatrix.loc[p1, p2]
    

    【讨论】:

    • @IIUC 表示如果我理解正确。函数应该像out = get_correl_diff_tenor('2w','1m') 一样调用并返回0.73
    猜你喜欢
    • 2017-11-18
    • 2021-09-02
    • 2015-06-28
    • 2020-11-14
    • 2016-08-21
    • 2015-12-07
    • 1970-01-01
    • 2021-09-11
    • 2019-11-20
    相关资源
    最近更新 更多