python pandas dataframe to make r(t-1).iloc[1:] = r(t).iloc[



我想做一列熊猫的数据框,第二行到最后一行等于另一列的第一行到倒数第二行: 它看起来像:

r(t-1).iloc[1:] = r(t).iloc[0:-1](r(t) and r(t-1)) 

是同一数据框的列

我遇到的问题是 python 不会理解我想移动复制数据行的想法:

IR['r(t-1)'].iloc[1:] = IR['r(t)'].iloc[0:-1]
/anaconda3/lib/python3.6/site-packages/pandas/core/indexing.py:190: 

设置与复制警告:正在尝试在数据帧中的切片副本上设置值

请参阅文档中的注意事项:http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy

self._setitem_with_indexer(indexer, value)

有人知道如何处理它吗?

欢迎来到 SO。

如何解决您的问题

您似乎需要在其中一列中进行更改。 正如问题的前两行所示。 您可以通过shift()Pandas 数据帧的方法执行此操作。那么你的答案可能是:

df['new_row'] = df['old_row'].shift(1)

您可以使用负值和正值向前或向后移动

您遇到的错误是什么

简而言之,熊猫提供了数据帧写入和读取的方法,它实际上不接受任何其他类型的方法。警告表明您没有使用写入数据帧的好方法(iloc以熊猫的拙见!),因为iloc主要用于按索引访问行。

这里有任何熊猫专家,如果我错了,请纠正我。

最新更新