gpt4 book ai didi

python - 创建一个具有固定第一个值的空 Pandas DataFrame 列,然后用公式填充它

转载 作者:太空宇宙 更新时间:2023-11-03 16:04:09 25 4
gpt4 key购买 nike

我想在现有的 DataFrame 中创建一个空列,其中仅一列中的第一个值 = 100。之后我想迭代并用公式填充该列的其余部分,例如 row[ C][t-1] * (1 + 行[B][t])

非常类似于: Creating an empty Pandas DataFrame, then filling it?

但区别在于将“C”列的第一个值固定为 100,而不是完全使用公式。

import datetime
import pandas as pd
import numpy as np

todays_date = datetime.datetime.now().date()
index = pd.date_range(todays_date-datetime.timedelta(10), periods=10, freq='D')

columns = ['A','B','C']

df_ = pd.DataFrame(index=index, columns=columns)
df_ = df_.fillna(0)

data = np.array([np.arange(10)]*3).T
df = pd.DataFrame(data, index=index, columns=columns)

df['B'] = df['A'].pct_change()
df['C'] = df['C'].shift() * (1+df['B'])

## how do I set 2016-10-03 in Column 'C' to equal 100 and then calc consequtively from there?

df

最佳答案

试试这个。不幸的是,可能需要类似于 for 循环的东西,因为您需要根据先前的行值计算下一行,该值需要在向下移动行时保存到变量中(在我的示例中为 c_column):

c_column = []
c_column.append(100)

for x,i in enumerate(df['B']):
if(x>0):
c_column.append(c_column[x-1] * (1+i))

df['C'] = c_column

关于python - 创建一个具有固定第一个值的空 Pandas DataFrame 列,然后用公式填充它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40022553/

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