【问题标题】:Spark : Find preceding value form the listSpark:从列表中查找前一个值
【发布时间】:2019-06-21 13:58:19
【问题描述】:

我正在努力从基于变量的列表中找到前一项。 假设我有一个列表

date = ['20190501','20190502','20190503','20190507','20190508'] 

我有另一个变量存储为:

start_date = ['20190507']

我想找到start_date 的前一个值并将其存储为previous_date,我将在我的代码中进一步调用它。

所以在这种情况下,previous_date 将是['20190503']

在另一种情况下,如果我的start_date = ['20190503'] 和列表相同,则 previous_date 将是 ['20190502']

【问题讨论】:

标签: databricks


【解决方案1】:

你有一个 List 结构,所以你可以像index 一样使用它的built-in methods。它返回等于其 x 参数的第一项的基于 0 的索引,类似于:

%py
date = ['20190501','20190502','20190503','20190507','20190508'] 

start_date = ['20190507']

## So in this case, the previous_date would be ['20190503'].
x = ['20190501','20190502','20190503','20190507','20190508'].index(start_date[0])

date[x - 1]

我的结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2021-08-28
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多