【发布时间】:2019-01-26 17:27:35
【问题描述】:
在以下数据框中
#Create data
data = {'Day': [1,1,2,2,3,3],
'Where': ['A','B','A','B','B','B'],
'What': ['x','y','x','x','x','y'],
'Dollars': [100,200,100,100,100,200]}
index = range(len(data['Day']))
columns = ['Day','Where','What','Dollars']
df = pd.DataFrame(data, index=index, columns=columns)
df
我想添加一个包含未来值的列。在这种情况下,第一个值应该是 100,因为在第 2 天 A x 以 100 美元的价格售出。完整的列应包含值100, None, None, 100, None, None。
我认为我可以通过以下方式索引单元格
df2 = df
df2['Tomorrow_Dollars'] = df[df.Day == df2.Day+1,'Dollars']
但这会引发以下错误
TypeError: 'Series' 对象是可变的,因此它们不能被散列
是否有解决方案或更智能的方法?
【问题讨论】:
-
请添加您的预期输出。
-
@coldspeed 请注意我做到了:一列包含 100、无、无、100、无、无。对不起,如果它有点隐藏