PySpark 如何遍历 Dataframe 列并更改数据类型?

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

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

df = df.withColumn("COLUMN_X", df["COLUMN_X"].cast(IntegerType()))

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

谢谢。

黑主教

当 type 等于 时,您可以循环遍历df.dtypes并强制转换bigintdecimal(38,10)

from pyspark.sql.funtions import col

select_expr = [
    col(c).cast("bigint") if t == "decimal(38,10)" else col(c) for c, t in df.dtypes
]

df = df.select(*select_expr)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Pyspark 中更改数据类型

Spark DataFrame根据列条件更改数据类型

如何通过pyspark更改数组结构中的列类型

Pyspark:如何遍历数据框列?

如何动态更改数据框中列的数据类型

如何在pyspark中将Dataframe列从String类型更改为Double类型

如何在程序中更改数据类型?

混合模式数据类型 JSON 到 PySpark DataFrame

如何按数据类型选择 Pandas DataFrame 中的列?

如何从 2 个 DataFrame 的 2 列创建 PySpark DataFrame?

更改 Pyspark 中 Arraytype 列的任何字段的数据类型

如何更改多列的数据类型?

如何遍历DataFrame列并删除NaN值

如何在pyspark中更改数据框列名称?

遍历pyspark数据框列

根据列的原始数据类型更改 Pandas Dataframe 中列的数据类型

遍历 R 中的 DataFrame 以更改列类型

如何遍历PySpark数据框并打印前5次迭代?

加入时如何在Pyspark中遍历数组列

如何在PySpark中为一个组遍历Dataframe / RDD的每一行?

如何在 Pyspark DataFrame 中扫描列以获取新列

如何使用pyspark dataframe查找std dev分区或分组的数据?

Pyspark Dataframe 无法从 SQLServer 正确读取真实数据类型数据

如何更改数据绑定列的单元格类型

PySpark:如何删除一个DataFrame的非数字列?

如何仅在PySpark中打印DataFrame的特定列?

如何从Pyspark的DataFrame获取数字列并计算zscore

Pyspark-如何从DataFrame列中获取随机值

如何将列表列与pyspark dataframe列相交?