如何在PySpark中复制Pandas的between_time函数



我想在PySpark中复制Pandas的between_time函数。在Spark中,数据帧是分布式的,没有基于日期时间的索引,这可能吗?

i = pd.date_range('2018-04-09', periods=4, freq='1D20min')
ts = pd.DataFrame({'A': [1, 2, 3, 4]}, index=i)
ts.between_time('0:45', '0:15')

PySpark中有类似的可能吗?

pandas.between_time-API

如果您在Spark数据帧中有一个时间戳列,比如ts,那么对于上面的情况,您可以使用

import pyspark.sql.functions as F
df2 = df.filter(F.hour(F.col('ts')).between(0,0) & F.minute(F.col('ts')).between(15,45))

最新更新