gpt4 book ai didi

python - 根据来自多个行索引的多个列的值的聚合创建一个列

转载 作者:行者123 更新时间:2023-12-04 01:03:04 25 4
gpt4 key购买 nike

我正在尝试将技术分析运算符从另一种专有语言转换为使用数据帧的 python,但我遇到了一个看似相当简单的问题,但我无法解决 pandas 的问题。为了简化问题,让我们以这个数据框为例:

d = {'value1': [0,1,2,3], 'value2': [4,5,6,7]}
df = pd.DataFrame(data=d)

这导致以下数据框:

dataframe

我想实现的是:

enter image description here

在伪代码中我将通过以下方式实现:

value1 = [0,1,2,3]
value2 = [4,5,6,7]
result = []

for i in range(len(value1)):
calculation = value1[i] * value2[i]
lookback = value1[i]
for j in range(lookback):
calculation -= value2[j]
result[i] = calculation

我将如何在数据框上下文中处理 this?因为我在文档中找到的唯一类似方法是使用 https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.apply.html#但没有提及交互/操纵列/行中包含的系列。

最佳答案

df['result'] = df.value1 * df.value2 - (df.value2.cumsum() - df.value2)
df

输出

   value1   value2  result
0 0 4 0
1 1 5 1
2 2 6 3
3 3 7 6

解释我们正在计算 value2 的累加和,并减去当前 value2,该总和减去 value1 和 value2 的乘积。

关于python - 根据来自多个行索引的多个列的值的聚合创建一个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67547469/

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