df.at[0,'Initial'] = 10000
df.loc[1:99,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
Initial
10000.000000
10063.995538
NaN
NaN
NaN...
私は10000の開始値を作成しているし、しかし前回値+(前回値* PCT変更)データフレームは、(インデックス)を適切な値を追加しない
を追加することになっているこのコードでこんにちはガイズ2行目以降にNaNを生成し続ける
何かアドバイスしてください。
Initial Pct Change
10000.000000 -0.000710
10063.995538 0.006400
NaN 0.002827
NaN 0.009148
NaN 0.000694
この構文df.locかしら私は10063.995538 +(* 0.002827 10063.995538) される初期の3行が好きしかし、それがNaN を生産している[1:99 '初期']が間違っていますか?
私は唯一の初期にはこれを適切に行うことによって移入することができます:
df.at[0,'Initial'] = 10000
df.loc[1:,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
df.loc[2:,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
df.loc[3:,'Initial'] = df['Initial'].shift(1) + (df['Initial'].shift(1) * df['Pct Change'])
`....`
をしかし、なぜ[1:99 '初期'] df.locません動作しますか?
を見てみてください'Initial'の値は? –
こんにちは私は使用 df.at [0、 '初期'] = 10000 私はこの2行以外の初期以外の行を持っていません –
あなたのコードから、私はあなたが幾分反復計算。残念ながら、このコードは 'Initial'カラムの現在の値に作用するので、最初のカラムのほかに' NaN'が発生するため、非常に遠くには行きません。 –