繁体   English   中英

Python - 在 lambda 应用函数中分配一个变量来计算相关性

[英]Python - Assign a variable in lambda apply function to calculate correlation

我有一个数据框,它的列大小有可能呈指数增长。 我正在尝试多次计算两列之间的相关性。 相关性计算的一部分是随着列数的增加。 我正在 FOR 循环中创建相关性计算所需的列,当我尝试计算相关性时,我收到一条错误消息:

'DataFrame' object has no attribute 'col'

我尝试将新列名分配给一个变量并将该变量放入 lambda 函数中,但这也不起作用。

如何更新代码的相关部分以使用 FOR 循环中的新列?

这是创建新列的 for 循环。 colname 是所有列名的列表:

for col in colname:
    df[col+'_RR'] = df['p_'+col] - df['r2500_ret']

    df[col+'_sec_rr'] = df['ret'] - df[col+'_RR']
  
    # Calculate Correlation
    dfcorr = df.groupby('symbol').apply(lambda v: v.col+'_sec_rr'.corr(v.col+'_RR')).to_frame().rename(columns={0:'jets_correlation'})

蒂姆·罗伯茨在第一条评论中回答了这个问题。 这是 . 符号的简单更改。 到 []。 谢谢蒂姆!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM