答案 0 :(得分:2)
这意味着使用旧列的算术运算会创建一个新的Column对象:
df = spark.createDataFrame([[1], [2]], ['a'])
df.show()
+---+
| a|
+---+
| 1|
| 2|
+---+
df.a
# Column<b'a'>
df.a + 1
# Column<b'(a + 1)'>
1 / df.a
# Column<b'(1 / a)'>
df.a
,df.a + 1
和1 / df.a
都是列对象,您想要问的可能是如何将列附加到数据框,哪个,你可以使用select
:
df.select('a', (df.a + 1).alias('b')).show()
+---+---+
| a| b|
+---+---+
| 1| 2|
| 2| 3|
+---+---+
或withColumn
:
df.withColumn('b', df.a + 1).show()
+---+---+
| a| b|
+---+---+
| 1| 2|
| 2| 3|
+---+---+