簡體   English   中英

Python Spark - 如何創建一個新列,在數據幀上對現有列進行切片?

[英]Python Spark - How to create a new column slicing an existing column on the dataframe?

我需要通過在同一數據幀上切片當前列來在我的數據幀上創建一個新列。

開始時間:時間戳

START_TIME
2017-03-25T13:14:32.000+0000
2018-03-25T13:14:32.000+0000
2019-03-25T13:14:32.000+0000
2020-03-25T13:14:32.000+0000
2021-03-25T13:14:32.000+0000

我的輸出應該是這樣的

START_TIME                        NEW_START_TIME
2017-03-25T13:14:32.000+0000      2017-03-25
2018-03-25T13:14:32.000+0000      2018-03-25
2019-03-25T13:14:32.000+0000      2019-03-25
2020-03-25T13:14:32.000+0000      2020-03-25
2021-03-25T13:14:32.000+0000      2021-03-25

我嘗試了幾件事,但沒有一個奏效。

tpv =  dataset.start_time_example

tpv['new_start_time'] = tpv['start_time'].slice(0,10)

類型錯誤:“列”對象不可調用

tpv['newstartdate'] = tpv['start_time'].slice.str[:10]

TypeError: startPos 和 length 必須是相同的類型。 分別獲得了“NoneType”類和“int”類。

newstartdate = tpv['start_time'].slice(0,10)
tpv['newstartdate'] = newstartdate

類型錯誤:“列”對象不可調用

你能幫我解決這個問題嗎? (我正在使用 python 3)

試試這個它應該工作。

from pyspark.sql import functions as f
df.withColumn("new_start_time",f.to_date(f.to_timestamp(df.start_time))).show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM