相关疑难解决方法(0)

Pyspark数据帧将多个列转换为浮点数

我试图将数据帧的多个列从字符串转换为像这样的浮点数

df_temp = sc.parallelize([("1", "2", "3.4555"), ("5.6", "6.7", "7.8")]).toDF(("x", "y", "z"))
df_temp.select(*(float(col(c)).alias(c) for c in df_temp.columns)).show()
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误

select() argument after * must be a sequence, not generator
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么会抛出这个错误

python apache-spark pyspark

7
推荐指数
3
解决办法
1万
查看次数

PySpark 如何迭代 Dataframe 列并更改数据类型?

迭代 Spark Dataframe(使用 Pyspark)并找到数据类型Decimal(38,10)-> 将其更改为 Bigint(并将所有内容重新保存到同一数据帧)的最佳方法是什么?

我有一个用于更改数据类型的部分 - 例如:

df = df.withColumn("COLUMN_X", df["COLUMN_X"].cast(IntegerType()))
Run Code Online (Sandbox Code Playgroud)

但试图找到并与迭代集成..

谢谢。

python dataframe apache-spark apache-spark-sql pyspark

1
推荐指数
1
解决办法
8912
查看次数