【发布时间】:2017-10-14 01:55:20
【问题描述】:
我有一个如下所示的 DataFrame:
我想要的是计算以下操作,在循环中描述:
for ii in range(0,len(df['Avg'])):
if ii==0:
df['Return'][ii]=0
else:
df['Return'][ii] = (df['Avg'][ii])/(df['Avg'][ii-1])-1
我想使用 'Avg' 列中的 'present' 和 'previous' 元素进行该操作,但我收到此错误:
试图在数据帧的切片副本上设置值
请参阅文档中的注意事项: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy df['Return'][ii]=0 C:/Users/julio/Desktop/Python Scripts/Euclid Capital Scripts/DukasCopy/duka_test:34: SettingWithCopyWarning: A 正在尝试在 DataFrame 中的切片副本上设置值
请参阅文档中的注意事项: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy df['返回'][ii] = (df['Avg'][ii])/(df['Avg'][ii-1])-1
还有其他方法可以实现我想要的并将这些值存储在“返回”列中吗?
【问题讨论】: