我想在另一个列的基础上创建一个新列,但我想忽略第一个值,并从第二个值开始复制,以便创建一个新列,在该列中我减去以前的值。我正在尝试创建此代码来比较两个日期时间,并检查这两个值之间需要多少时间(这两个值是日期时间,以秒/分钟为单位会有所不同)。
即代码:
Column1 New_column Substraction
18:30 18:45 18:45 - 18:30 = 0:15
18:45 19:45 19:45 - 18:45 = 1:00
19:45 20:15 20:15 - 19:45 = 0:30
20:15 etc.我会说它基本上是复制Column1到另一个,但是移动索引,第二列的第一个索引(索引0)必须是第一列的第二个索引(索引1)。如果我没有很好地解释,很抱歉,我正在努力提高我的英语水平。
提前感谢!
发布于 2019-12-12 17:38:35
您可以按照问题中的定义,使用pandas.DataFrame.diff将先前的值相减
示例:
>>> import pandas as pd
>>> df = df = pd.DataFrame({'a': [1, 2, 3, 4, 5, 6],'b':[6,5,4,3,2,1]})
>>> df
a b
0 1 6
1 2 5
2 3 4
3 4 3
4 5 2
5 6 1
>>> df.a.diff()
0 NaN
1 1.0
2 1.0
3 1.0
4 1.0
5 1.0
Name: a, dtype: float64发布于 2019-12-12 17:43:22
将列转换为datetime并查找下一列的差异(shift)
df['Column1'] = pd.to_datetime(df['Column1'], format='%H:%M')
df['substaction'] = df['Column1'].shift(-1) - df['Column1']
df['Column1'] = df['Column1'].dt.strftime('%H:%M')
df这将给出以下输出
Column1 substaction
0 18:30 00:15:00
1 18:45 01:00:00
2 19:45 00:30:00
3 20:15 NaThttps://stackoverflow.com/questions/59301496
复制相似问题