python - pyspark/数据框 : replace null with empty space

标签 python dataframe lambda

我在 pyspark 数据帧中有以下 udf 函数。代码工作正常,除非 myFun1('oldColumn') 为 null,我希望输出为空字符串而不是 null。

myFun1 = udf(lambda x: myModule.myFunction1(x), StringType())
myDF = myDF.withColumn('newColumn', myFun1('oldColumn'))

是否可以就地执行此操作而不是创建另一个 udf 函数?谢谢!

最佳答案

使用 df.fillna()df.na.fill() 将空值替换为空字符串对我有用。

您可以通过提供要替换空值的列和值作为参数来按列进行替换:

myDF = myDF.na.fill({'oldColumn': ''})

Pyspark 文档有 an example :

>>> df4.na.fill({'age': 50, 'name': 'unknown'}).show()
+---+------+-------+
|age|height|   name|
+---+------+-------+
| 10|    80|  Alice|
|  5|  null|    Bob|
| 50|  null|    Tom|
| 50|  null|unknown|
+---+------+-------+

关于python - pyspark/数据框 : replace null with empty space,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38449610/

相关文章:

Rowwise,如何指定某个值来自哪一列?

sql - 从一列创建一个逗号分隔的列表

python-3.x - 从 pandas 数据框中的类别(列)中选择前 n 行并对其执行计算

vector - 在向量中存储 C++ std::function 的 Rust 等价物是什么?

c++ - 比较两个指针以用于标准算法的正确方法

c++ - 通过 lambda 定义的 constexpr 递归函数

python - 在具有固定索引的空数据帧上连接多个数据帧,合并列或附加这些列

python - 如何更改 Dash Graph 的大小?

python - 无法终止使用 Python 子进程启动的 Jar 文件

python - 在对 API 的 python 调用中使用正则表达式来清理返回