python - 复制一列但忽略第一行,熊猫数据框
问题描述
我想基于另一个创建一个新列,但我想忽略第一个值并从第二个值开始复制,以便创建一个新列,在其中减去以前的值。我正在尝试创建此代码来比较两个日期时间并检查这两个值之间需要多少时间(这是日期时间,并且以秒/分钟为单位会有所不同)。
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)。对不起,如果我不能很好地解释自己,我正在努力提高我的英语。
提前致谢!
解决方案
您可以使用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
推荐阅读
- rust - 即使 Cargo.toml 中存在缺少 crate 错误
- javascript - REDUX:如何从我的数组中删除相关项目?
- flutter - Flutter 路由问题和重复的 GlobalKey
- node.js - 仅支持 HTTP(S) 协议 Firebase 函数
- python - 将“项目”从一个字典移动到一个新列表
- python - 如何在 np.roll() 上使用函数,例如 DataFrame.rolling().apply(function) 或 dataframe.rolling().agg(function)?
- azureservicebus - Azure 函数服务总线没有属性 application_properties
- javascript - 如何用父进程包装程序以便我可以在 nodejs 中重新启动?
- javascript - CSS过渡仅在第一个动画上不起作用
- c++ - Qt 应用程序无法仅使用 Qt 6.2 静态构建打印 QDocument