apache-spark - 舍入数据框中的所有列 - 小数点后两位 pyspark

标签 apache-spark pyspark apache-spark-sql

我有这个命令让我的数据框中的所有列四舍五入到小数点后两位:

data = data.withColumn("columnName1", func.round(data["columnName1"], 2))

我不知道如何通过一个命令(不是每一列分开)舍入所有数据框。有人可以帮帮我吗?我不想使用不同的列名称使用相同的命令 50 次。

最佳答案

没有将所有函数应用于列的函数或命令,但您可以迭代。

+-----+-----+
| col1| col2|
+-----+-----+
|1.111|2.222|
+-----+-----+

df = spark.read.option("header","true").option("inferSchema","true").csv("test.csv")

for c in df.columns:
    df = df.withColumn(c, round(c, 2))
    
df.show()

+----+----+
|col1|col2|
+----+----+
|1.11|2.22|
+----+----+

关于apache-spark - 舍入数据框中的所有列 - 小数点后两位 pyspark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63723965/

相关文章:

scala - 如何在现有的 Hadoop 2.x 中使用 spark

apache-spark - Spark 1.6 : filtering DataFrames generated by describe()

python - 使用循环在 pyspark 数据框中添加多列

apache-spark - Spark/k8s:如何在客户端模式下在现有kubernetes集群上安装Spark 2.4?

scala - 将多个单独的条目合并为 Spark Dataframe 中的单个条目

apache-spark - 将 12 小时添加到 Spark 中的日期时间列

apache-spark - 在 Spark 中,广播是如何工作的?

apache-spark - Spark阶段交换的意义

apache-spark - 在 S3 中存储时正确的 Parquet 文件大小?

python - Pyspark 从数据框中的列中删除空值