2017-09-12 92 views
1

我有一個熊貓數據框,我想添加一個空列(名爲nb_trades)。然後我想用5乘5的增量填充這個新列。所以,我應該會得到價值5 10 15 20在整列列...Python - 熊貓數據框 - 迭代通過列

做下面的代碼分配相同的值(i最後一個值),這不是我想要的東西:

big_df["nb_trade"]='0' 
for i in range(big_df.shape[0]): 
    big_df['nb_trade']=5*(i+1) 

有人可以幫我嗎?

+1

爲什麼不'np.arange(5,5 *(big_df.shape [ 0] +1),5)'? – Zero

+0

謝謝。但是,這樣做並不是我想要的結果。我想在一列中逐行遞增。我用df ['new'] = np.arange(5,df.shape [0] * 5 + 5,5)代替。 – CTXR

+0

兩者都是一樣的,請參閱下面的答案! – Zero

回答

2

使用rangenp.arrange:從commentJohn Galt

df = pd.DataFrame({'a':[1,2,3]}) 
print (df) 
    a 
0 1 
1 2 
2 3 

df['new'] = range(5, len(df.index) * 5 + 5, 5) 
print (df) 
    a new 
0 1 5 
1 2 10 
2 3 15 

df['new'] = np.arange(5, df.shape[0] * 5 + 5, 5) 
print (df) 
    a new 
0 1 5 
1 2 10 
2 3 15 

解決方案:

df['new'] = np.arange(5, 5*(df.shape[0]+1), 5) 
print (df) 
    a new 
0 1 5 
1 2 10 
2 3 15 
+0

嗨Jezrael。你看,這種方法奏效了。範圍方法與最初的行數不匹配。 – CTXR

+0

很高興能幫到你!如果我的回答有幫助,請不要忘記[接受](http://meta.stackexchange.com/a/5235/295067) - 點擊答案旁邊的複選標記('✓')將其從灰色出來填補。謝謝。 – jezrael