首页 > 解决方案 > 复制一列但忽略第一行,熊猫数据框

问题描述

我想基于另一个创建一个新列,但我想忽略第一个值并从第二个值开始复制,以便创建一个新列,在其中减去以前的值。我正在尝试创建此代码来比较两个日期时间并检查这两个值之间需要多少时间(这是日期时间,并且以秒/分钟为单位会有所不同)。

IE代码:

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)。对不起,如果我不能很好地解释自己,我正在努力提高我的英语。

提前致谢!

标签: pythonpandas

解决方案


您可以使用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

推荐阅读