2017-02-28 50 views
-1

我是非常非常新的python和熊貓,所以我的問題是非常基本的。如何使用函數填充數據框中的列

我有一個簡單的數據幀,有它的索引和列「年」:

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

爲了這個數據幀,我需要補充的是,每年爲它執行特定的計算列,說:新年i = X * i

年份(即1900,1991等)並不重要,因爲每個「我」都屬於特定年份。

我希望你能幫我解決這個問題。 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),第二行應該是(1901,10^1),第三行(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

相關問題