gpt4 book ai didi

python - Python 中多列之间的条件总和

转载 作者:行者123 更新时间:2023-12-01 08:55:23 26 4
gpt4 key购买 nike

我有以下脚本,来自对证券数据的更大规模分析,

returns_columns = []

df_merged[ticker + '_returns'] = df_merged[ticker + '_close'].pct_change(periods=1)
returns_columns.append(ticker + '_returns')

df_merged['applicable_returns_sum'] = (df_merged[returns_columns] > df_merged['return_threshold']).sum(axis=1)

'return_threshold'是一个完整的 float 序列。

我已经能够成功对returns_columns中的每一行进行求和。数组,但无法弄清楚如何仅对 returns_columns 中的数字进行条件求和大于 res 'return_threshold'在那一排。

这似乎是一个与此处显示的问题类似的问题,Python Pandas counting and summing specific conditions ,但我试图根据 returns_columns 中不断变化的条件进行求和.

任何帮助将不胜感激,一如既往地感谢!

编辑:另一种方法这是我尝试过的另一种方法。下面的脚本有一个与 ticker 相关的错误输入,尽管我认为这是必要的,然后产生错误:

def compute_applicable_returns(row, ticker):
if row[ticker + '_returns'] >= row['top_return']:
return row[ticker + '_returns']
else:
return 0

df_merged['applicable_top_returns'] = df_merged[returns_columns].apply(compute_applicable_returns, axis=1)

最佳答案

数据帧的[]运算符应该允许您通过表达式df>阈值进行过滤并返回数据帧。然后您可以在此 df 上调用 .sum()

df[df > 阈值].sum()

关于python - Python 中多列之间的条件总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52806950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com