Apache spark 如何从表达式创建列

Apache spark 如何从表达式创建列,apache-spark,dataframe,pyspark,Apache Spark,Dataframe,Pyspark,说: 有人能解释一下代码的含义和用法吗?这意味着对旧列的算术运算会创建一个新的列对象: df=spark.createDataFrame([[1],[2],['a'])) df.show() +---+ |a| +---+ | 1| | 2| +---+ df.a #纵队 df.a+1 #纵队 1/df.a #纵队 df.a、df.a+1和1/df.a都是列对象,您想问的可能是如何将列附加到数据框,您可以使用选择: df.select('a', (df.a + 1).alias('b'))

说:


有人能解释一下代码的含义和用法吗?

这意味着对旧列的算术运算会创建一个新的列对象:

df=spark.createDataFrame([[1],[2],['a']))
df.show()
+---+
|a|
+---+
|  1|
|  2|
+---+
df.a
#纵队
df.a+1
#纵队
1/df.a
#纵队
df.a
df.a+1
1/df.a
都是列对象,您想问的可能是如何将列附加到数据框,您可以使用
选择

df.select('a', (df.a + 1).alias('b')).show()
+---+---+
|  a|  b|
+---+---+
|  1|  2|
|  2|  3|
+---+---+
带列

df.withColumn('b', df.a + 1).show()
+---+---+
|  a|  b|
+---+---+
|  1|  2|
|  2|  3|
+---+---+

这意味着对旧列的算术运算将创建一个新列对象:

df=spark.createDataFrame([[1],[2],['a']))
df.show()
+---+
|a|
+---+
|  1|
|  2|
+---+
df.a
#纵队
df.a+1
#纵队
1/df.a
#纵队
df.a
df.a+1
1/df.a
都是列对象,您想问的可能是如何将列附加到数据框,您可以使用
选择

df.select('a', (df.a + 1).alias('b')).show()
+---+---+
|  a|  b|
+---+---+
|  1|  2|
|  2|  3|
+---+---+
带列

df.withColumn('b', df.a + 1).show()
+---+---+
|  a|  b|
+---+---+
|  1|  2|
|  2|  3|
+---+---+