簡體   English   中英

如何轉換 pyspark dataframe 列的值?

[英]How do I convert the value of a pyspark dataframe column?

我在 pyspark dataframe 中有一個電子設備使用年限的列,這些值以毫秒為單位。 有沒有一種簡單的方法可以將該列的值轉換為年份? 我對 Spark 不太熟悉。

編輯:我知道您可以使用基本數學很容易地將毫秒轉換為年,我正在嘗試獲取 pyspark dataframe 的列並遍歷它並將所有列值轉換為不同的值。 是否有特定的 pyspark function 可以使這更容易或沒有? 我有一列,其中所有值都是非常大的整數,時間以毫秒為單位,我試圖根據設備的使用壽命過濾掉太小或太大而無法理解的值。

table.filter(F.col("age")>0).filter(F.col("age")<yearsToSeconds(20))

其中yearsToSeconds 是將年份轉換為秒的非常基本的function。 我更希望能夠將列值轉換為年,但我以前沒有使用過 spark,我不知道這樣做的最佳方法。

好吧,一種方法是使用withColumn

在這里,我演示了在 dataframe 中添加一個名為“ageinMin”的新列,並根據 dataframe 中的“age”列計算它,然后將其除以 600 以獲得等效分鍾數:

df.withColumn("ageinMin",col("age") /600)

暫無
暫無

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

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