2017-02-28 7 views
-1

私は非常にpythonとpandasの新機能ですので、私の質問は非常に基本的です。関数を使用してデータフレーム内の列に値を設定する方法

私はそのインデックスおよび列 '年を持っている簡単なデータフレームがあります年:このデータフレームに

Years = pd.DataFrame({'Years': range(1900,2000,1)}) 

を、私が言う、各年のためにそれが具体的な計算を実行する列を追加する必要がありますi = X * i

年(つまり1900年、1991年など)はそれほど重要ではなく、各「i」は特定の年に属します。

この問題を解決するお手伝いをさせていただきますようお願い申し上げます。 Thansks非常に。

答えて

1

これで問題は解決しますか?

Years = pd.DataFrame({'Years': range(1900,2000,1)}) 
Years['calculation'] = 0 

for row in Years.index: 
    Years['calculation'][row] = 10**row 

また、前の行の値を具体的に使用することもできます。計算を行うための

for row in Years.index: 
    Years['calculation'][row] = 10 * (row - 1) 
+0

何新しい列は次のようになりますか? –

+0

私はあなたを混乱させて申し訳ありません。私はこれに精通しており、オンラインで解決策を見つけることはできないようです。私は専門用語を知らないので、私はより説明的になります。 新しい列の各行の各値は、前の行の結果を使用します。したがって、最初の行が(1900,10)の場合、2番目の行は(1901,10^1)、3番目の行(1902,10^2)などになります。 (ここに正しいスタイルで投稿する方法も覚えておく必要があります) – Yannis

+0

私は自分の答えを編集しました。これが最も洗練されたソリューションであるかどうかはわかりませんが、うまくいきます。 ;) –

0
df = pd.DataFrame({'Years': range(1900,2000,1)}) 

df.head() 

enter image description here

ようにあなたがしなければならないすべては、このされています

df['new_column'] = df['Years'] * 3 

df.head() 

enter image description here

関連する問題