【发布时间】:2019-09-28 19:12:20
【问题描述】:
我有一个这样的数据框
x = pd.DataFrame({'a':[1.1341, 1.13421, 1.13433, 1.13412, 1.13435, 1.13447, 1.13459, 1.13452, 1.13471, 1.1348, 1.13496,1.13474,1.13483,1.1349,1.13502,1.13515,1.13526,1.13512]})
我们如何拆分这个系列以获得以下输出,使得最小差异至少为 0.0005
x['output'] = [1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0]
【问题讨论】:
-
“我们如何拆分这个系列以获得以下输出,使得最小差异至少为 0.0005”:差异是什么?在子系列的任意两个数字之间?
-
计算效率对您的情况重要吗?另外,数据的特点是什么? (可能有几个满足条件的子列表,例如,如果您的列表是 (1, 1.0001, 2, 2.0001)
-
效率很重要。我想将此应用于 1M 行。子集应该在原始列表中。在这种情况下,答案应该是 [1.1341,1.13471,1.13526],因为 1.1341 - 1.13471 = 0.00061 和 1.13471 - 1.13526 = 0.00055。差异不一定总是积极的。
-
1.13512 - 1.13483 ?
-
我不清楚为什么 1.13410 有 1?这是因为 1.3410 - 1.3421 > 0.0005?
标签: python pandas time-series