繁体   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