python - 从连续行中的两个不同列中减去两个时间戳
问题描述
所以我有一个像这样的熊猫数据框
a b
0 1 3
1 7 8
2 11 3
3 9 1
我想用前一个索引从 a 列中减去 b 列,例如 b[1] = 8 和 a[0] = 1,然后 b[1] - a[0] = 7,这将在c[1]
a b c
0 1 3 -
1 7 8 7
2 11 3 -4
3 9 1 -10
我该怎么做?感谢您的时间和帮助:)
解决方案
Series.sub
与移位值一起使用Series.shift
:
df['c'] = df['b'].sub(df['a'].shift())
print (df)
a b c
0 1 3 NaN
1 7 8 7.0
2 11 3 -4.0
3 9 1 -10.0
对于integer na
通过转换为使用的整数Int64
:
df['c'] = df['b'].sub(df['a'].shift(1)).astype('Int64')
print (df)
a b c
0 1 3 <NA>
1 7 8 7
2 11 3 -4
3 9 1 -10
推荐阅读
- javascript - 将数据从一个电子表格复制到另一种保留格式且不使用公式
- terraform - Terraform vsphere Provisioner:添加超过 1 个网络
- azure - 2 个私有 EndPoint 可以在 Azure 上相互通信吗?
- python-3.x - TypeError: 'numpy.float64' object is not callable 在遍历 DataFrame 的 for 循环之后被抛出
- reactjs - 下一个 js 动态路由在刷新时重定向到主页
- javascript - NG0303:无法绑定到“ngif”,因为它不是“div”的已知属性
- python - 通过 Kraken API 获取 BTC 历史数据
- sql - 带有附加信息的 SQL 交叉应用
- intellij-idea - 错误 SLF4J 的问题:无法加载类“org.slf4j.impl.StaticLoggerBinder”
- typescript - 建立推断的对象一直有效,直到它不起作用