从日期栏

时间:2017-11-29 06:06:14

标签: datetime pyspark spark-dataframe

我的数据框中有一个类似于

的日期列

+----------+ |DateColumn| +----------+ |2016-04-30| |2016-04-01| |2017-09-03| |2017-06-30| |2016-09-01| |2016-09-30| 我希望在给定的datafame列中有完全不同的年份月份 例如,上面有 4 不同的月份,即

  

2016-04,2017-09,2017-06-06,2016-09

我正在使用pyspark Dataframes 我试过了

newDF.select(month(newDF['dateColumn']),year(newDF['dateColumn'])).show()

但是这里输出的问题是2个不同的列。无法弄清楚如何在其上应用分组。

P.S:我有点新兴。

1 个答案:

答案 0 :(得分:1)

我们可以使用date_format()来获取特定格式,

from pyspark.sql import functions as F
df = df.withColumn('date_col',F.date_format('date_col','yyy-MM'))
df.show()
+--------+
|date_col|
+--------+
| 2016-04|
| 2016-04|
| 2017-09|
| 2017-06|
| 2016-09|
+--------+