尝试在数据框的import pandas as pd
list = [['oranges', 'apples']]
df= pd.DataFrame()
df['A'] = list
中使用包含表达式的变量时遇到问题。
所以我的变量为:
selectExpr
并尝试以以下方式在数据框上使用它:
expression = '"substr(value,1,1) as qffffffffbf3ef0cf","substr(value,2,1) as q6a0aaf20"'
但是,我一直遇到不匹配的输入错误。如果我按如下所示直接放入表达式,它将起作用:
ascii_df.selectExpr(expression).show(1)
在PySpark中有这样做的方法吗?
答案 0 :(得分:2)
实际上,您正在使用两个单独的表达式。在selectExpr
中直接使用它们时,您会将表达式用作selectExpr
的两个独立参数:
selectExpr("substr(value,1,1) as qffffffffbf3ef0cf","substr(value,2,1) as q6a0aaf20")
但是expression
是一个字符串,这就是为什么它不起作用的原因。而是将其更改为:
expressions = ["substr(value,1,1) as qffffffffbf3ef0cf","substr(value,2,1) as q6a0aaf20"]
ascii_df.selectExpr(expressions).show(1)