Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 创建一个将时间转换为二进制响应变量的函数_Apache Spark_Pyspark_Apache Spark Sql_Apache Spark Mllib_Decision Tree - Fatal编程技术网

Apache spark 创建一个将时间转换为二进制响应变量的函数

Apache spark 创建一个将时间转换为二进制响应变量的函数,apache-spark,pyspark,apache-spark-sql,apache-spark-mllib,decision-tree,Apache Spark,Pyspark,Apache Spark Sql,Apache Spark Mllib,Decision Tree,我目前有一个RDD,其中有两列 Row(皮卡时间=datetime.datetime(2014,2,9,14,51) dropoff_time=datetime.datetime(2014,2,9,14,58) 我想把它们转换成一个二进制响应变量,其中1表示夜间,0表示白天 我知道我们可以使用UserDefinedFunction创建一个函数,将这些函数更改为所需的格式 例如,我有另一个列,它是一个字符串,将付款类型指定为“CSH”或“CRD”,因此我可以通过这样做来解决这个问题 pay_ma

我目前有一个RDD,其中有两列

Row(皮卡时间=datetime.datetime(2014,2,9,14,51)
dropoff_time=datetime.datetime(2014,2,9,14,58)
我想把它们转换成一个二进制响应变量,其中1表示夜间,0表示白天

我知道我们可以使用
UserDefinedFunction
创建一个函数,将这些函数更改为所需的格式

例如,我有另一个列,它是一个字符串,将付款类型指定为“CSH”或“CRD”,因此我可以通过这样做来解决这个问题

pay_map={'CRD':1.0,'CSH':0.0}
pay_bin=UserDefinedFunction(lambda z:pay_map[z],DoubleType())
df=df.withColumn('payment_type',pay_bin(df['payment_type']))

我将如何将相同的逻辑应用于我所问的问题?如果有帮助,我将尝试转换这些变量,因为我将运行决策树。

此处不需要自定义项。您可以在和类型转换之间使用

从pyspark.sql.functions导入
def在_范围内(colname,下限=6,上限=17):
"""
:param colname-输入列名(str)
:下限-日间小时的下限(整数,0-23)
:上限-日间小时的上限(整数,0-23)
"""
断言0