手动创建带有日期列的数据框

时间:2019-09-25 17:44:00

标签: pyspark-sql pyspark-dataframes

我正在从pyspark文档中阅读示例代码

https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.SQLContext

在示例代码中,它创建了这样的数据框

df = spark.createDataFrame([('2015-04-08',)], ['dt'])
df.select(add_months(df.dt, 1).alias('next_month')).collect()
[Row(next_month=datetime.date(2015, 5, 8))]

我想知道为什么在“ 2015-04-08”之后必须有一个逗号,而只有一列。我觉得这可能与元组类型有关,但想了解更多。

1 个答案:

答案 0 :(得分:1)

单个元素元组具有附加的逗号(','),以算术表达式(1)区分它们。下面的示例应更加清楚。

空气定型表达:

a = (1)
type(a)
#int

具有单个元素的元组:

b = (1,)
type(b)
#tuple

您可以使用空括号定义零元素元组。

zero_element_tuple = ()
type(zero_element_tuple)
#tuple

只有单个元素元组需要附加逗号(',')才能与算术表达式区分开,而多个元素元组的末尾确实需要附加逗号。