在一列中,我得到了年份ex.2022,我想加载数据为2022-23,如果年份是2021,我想在pyspark和python中将其设置为2021-22。如何才能做到这一点
kmpatx3s1#
您可以将值作为1添加到year值。
year
df =spark.createDataFrame([(2022,),(2021,)],['year']) df.withColumn("year_add", concat_ws("-",col("year"),col("year")+1)).show(10,False) #+----+---------+ #|year|year_add | #+----+---------+ #|2022|2022-2023| #|2021|2021-2022| #+----+---------+
u5rb5r592#
您的数据框
+----+ |year| +----+ |2020| |2021| |2022| |2023| +----+
试试这个
df \ .withColumn("period", concat(col("year"), lit("-"), (col("year")+1).substr(3, 2))) \ .show(10,False)
输出
+----+-------+ |year|period | +----+-------+ |2020|2020-21| |2021|2021-22| |2022|2022-23| |2023|2023-24| +----+-------+
2条答案
按热度按时间kmpatx3s1#
您可以将值作为1添加到
year
值。u5rb5r592#
您的数据框
试试这个
输出