[英]Python create new dataframe column based on different rows
So I am having dataframe which looks like this所以我有看起来像这样的数据框
v1 v2
day1 x x
day2 x x
day3 x x
day4 x x
day5 x x
What I need is to add new column v3 which will be the difference "today's v1 - yesterday's v2"我需要的是添加新列 v3,这将是“今天的 v1 - 昨天的 v2”的区别
I've tried df[v3] = df[v1][1:] - df[v2][:-1]
我试过
df[v3] = df[v1][1:] - df[v2][:-1]
But it looks like python is somehow mapping rows by timestamp and I am receiving "today's v1 - today's v2" as result except for first and last rows which are NaN.但看起来python以某种方式按时间戳映射行,我收到“今天的v1 - 今天的v2”作为结果,除了第一行和最后一行是NaN。
IIUC,随着您的日子单调增加,您可以通过v2.shift()
减去v1
df['v3'] = df.v1 - df.v2.shift()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.