【发布时间】:2022-01-26 04:23:17
【问题描述】:
我有一个名为“模板”的系列,它是 3600 个 0.00 美元(最后一小时每秒一个 0.00 美元,并被编入索引)。我有另一个名为“事务”的系列,它来自 API 请求的数据,该请求是可变数量的非零美元金额,也由时间戳索引。由于这些交易都是在过去一小时内完成的,“交易”中的所有时间戳都会在“模板”中找到,但反之则不然(除非过去一小时的每一秒都有交易)。
对于“模板”中与“交易”中的时间戳匹配的每个时间戳,我想用“交易”中的美元金额替换该 0.00 美元。我这样做是为了在最后一小时生成交易图,因此需要 0.00 美元而不是 NaN,以及 3600 个数据点(以保持图表时间轴的一致性)。
我确实认为它很简单:
graphSeries = template.update(transactions)
但是当我跑步时
print(template)
print(transactions)
print(graphSeries)
我明白了(最后的“无”是问题):
12-26-2021 21:30:39 0.0
12-26-2021 21:30:40 0.0
12-26-2021 21:30:41 0.0
12-26-2021 21:30:42 0.0
12-26-2021 21:30:43 0.0
...
12-26-2021 22:30:34 0.0
12-26-2021 22:30:35 0.0
12-26-2021 22:30:36 0.0
12-26-2021 22:30:37 0.0
12-26-2021 22:30:38 0.0
Length: 3600, dtype: float64
12-26-2021 21:31:10 697986.00
12-26-2021 21:32:07 8780106.00
12-26-2021 21:32:54 900542.00
12-26-2021 21:34:52 8784483.00
12-26-2021 21:35:05 26309692.00
12-26-2021 21:39:48 500000.00
12-26-2021 21:39:55 1999940.00
12-26-2021 21:41:54 1189745.40
12-26-2021 21:43:21 1399102.56
12-26-2021 21:44:33 1607717.00
12-26-2021 21:46:13 1189745.40
12-26-2021 21:47:56 1000000.00
12-26-2021 21:49:08 12414533.00
12-26-2021 21:50:21 1546034.00
12-26-2021 21:50:30 13141109.60
12-26-2021 21:50:33 2277359.00
12-26-2021 21:50:39 503834.00
12-26-2021 21:50:51 1397967.00
12-26-2021 21:51:03 580000.00
12-26-2021 21:51:44 542158.00
12-26-2021 21:52:12 1546034.00
12-26-2021 21:54:04 1662123.80
12-26-2021 21:54:31 12052320.00
12-26-2021 21:54:52 1546024.00
12-26-2021 21:55:53 1000000.00
12-26-2021 21:56:30 1507000.00
dtype: float64
None
我做错了吗? pandas 的 update(Series) 方法不使用时间戳索引吗?
【问题讨论】:
-
您能否使用 5 或 6 行来创建一个简单的问题示例。 stackoverflow.com/questions/20109391/…
-
感谢@ScottBoston 提供的关于形成更好问题的指南。从现在开始我将使用它,但是在这个例子中,下面 Paul 的回答回答了我的问题。
标签: python pandas timestamp series