python - 无法将“时间戳”类型与“int”类型进行比较 - 减去数据集
问题描述
我有以下数据集:
1) 以月份为时间戳的数据集
df = pd.DataFrame(residuals, columns = ['Passengers'])
Passengers
Month
1949-01-01 -0.082329
1949-02-01 -0.040724
1949-03-01 0.060813
1949-04-01 0.027243
1949-05-01 -0.047359
1949-06-01 0.051545
1949-07-01 0.132902
1949-08-01 0.122322
b) 月份为 Int 的数据集
dz = pd.DataFrame(estacionalitat, columns = ['Passengers'])
Passengers
Month
1 -0.075844
2 -0.089111
3 0.042705
4 0.002147
5 -0.010528
6 0.109443
7 0.198334
8 0.209830
在两个数据集中都进行了一组转换,但最初的数据来自以下数据集:
data = pd.read_csv('AirPassengers.csv', parse_dates=['Month'], index_col='Month', header=0)
我想从另一个数据集中减去一个数据集,如下所示:
df-dz
但是,当我尝试执行上述操作时,我收到以下消息:
无法将“时间戳”类型与“int”类型进行比较
我猜这是因为“Month”在一个数据集中是 int 类型,而在另一个数据集中是 Date 类型。此外,我不知道如何访问“月份”,因为它不被理解为列。
解决方案
如果想转换DatetimeIndex
为月份使用:
df.index = df.index.month
然后在两者中获取整数,列名相同,因此可以减去:
df = df-dz
print (df)
Passengers
Month
1 -0.006485
2 0.048387
3 0.018108
4 0.025096
5 -0.036831
6 -0.057898
7 -0.065432
8 -0.087508
推荐阅读
- python - TensorFlow 实验 - 使用密集网络将灰度转换为 bgr
- powershell - cmdlet 无法运行,因为 -ContentType 参数不是有效的 Content-Type 标头
- laravel - Laravel year, sum, count, group by eloquent 查询
- python - Flask (Python) - 并行文件夹中图像的样式表 url_for 代码
- webpack - 如何在 VS Code Extension 中导入 wasm 文件?
- python - 如何从 Django 休息框架中相关字段的 to_representation 方法中返回一个 dict 对象?
- javascript - 如何根据角度 11 中的状态响应每 10 秒调用一次 API?
- excel - 坚持使用 VBA SumIf
- python - 随机异常排序字典列表(不排序)
- jboss - 打开资产时的 jBoss Business Central 错误消息