我有一个pandas数据帧,我想添加一个空列(名为nb_trades
)。然后我想以5乘5的增量填充这个新列。所以我应该得到一个值为5 10 15 20 ...
执行以下代码在整列中分配相同的值(i
的最后一个值),这不是我想要的:
big_df["nb_trade"]='0'
for i in range(big_df.shape[0]):
big_df['nb_trade']=5*(i+1)
有人可以帮助我吗?
答案 0 :(得分:2)
使用range
或np.arrange
:
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
来自comment的John Galt
解决方案:
df['new'] = np.arange(5, 5*(df.shape[0]+1), 5)
print (df)
a new
0 1 5
1 2 10
2 3 15