我有一個熊貓數據框,我想添加一個空列(名爲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)
有人可以幫我嗎?
我有一個熊貓數據框,我想添加一個空列(名爲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)
有人可以幫我嗎?
使用range
或np.arrange
:從comment的John 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
爲什麼不'np.arange(5,5 *(big_df.shape [ 0] +1),5)'? – Zero
謝謝。但是,這樣做並不是我想要的結果。我想在一列中逐行遞增。我用df ['new'] = np.arange(5,df.shape [0] * 5 + 5,5)代替。 – CTXR
兩者都是一樣的,請參閱下面的答案! – Zero