我试图将数据帧的多个列从字符串转换为像这样的浮点数
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)
我无法理解为什么会抛出这个错误
迭代 Spark Dataframe(使用 Pyspark)并找到数据类型Decimal(38,10)-> 将其更改为 Bigint(并将所有内容重新保存到同一数据帧)的最佳方法是什么?
我有一个用于更改数据类型的部分 - 例如:
df = df.withColumn("COLUMN_X", df["COLUMN_X"].cast(IntegerType()))
Run Code Online (Sandbox Code Playgroud)
但试图找到并与迭代集成..
谢谢。