Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在pyspark中将值随机更改为空值的最有效方法是什么?_Python 3.x_Apache Spark_Pyspark - Fatal编程技术网

Python 3.x 在pyspark中将值随机更改为空值的最有效方法是什么?

Python 3.x 在pyspark中将值随机更改为空值的最有效方法是什么?,python-3.x,apache-spark,pyspark,Python 3.x,Apache Spark,Pyspark,试图找出如何用空值随机替换Pyspark中的特定列。因此,更改数据帧如下: | A | B | |----|----| | 1 | 2 | | 3 | 4 | | 5 | 6 | | 7 | 8 | | 9 | 10 | | 11 | 12 | 并将列“B”中25%的值随机更改为空值: | A | B | |----|------| | 1 | 2 | | 3 | NULL | | 5 | 6 | | 7 | NULL | | 9 | NUL

试图找出如何用空值随机替换Pyspark中的特定列。因此,更改数据帧如下:

| A  | B  |
|----|----|
| 1  | 2  |
| 3  | 4  |
| 5  | 6  |
| 7  | 8  |
| 9  | 10 |
| 11 | 12 |
并将列“B”中25%的值随机更改为空值:

| A  | B    |
|----|------|
| 1  | 2    |
| 3  | NULL |
| 5  | 6    |
| 7  | NULL |
| 9  | NULL |
| 11 | 12   |

多亏了@pault,我能够用他发布的问题回答我自己的问题,你可以找到这个问题

基本上我是这样做的:

import pyspark.sql.functions as f
df1 = df.withColumn('Val', f.when(f.rand() > 0.25, df1['Val']).otherwise(f.lit(None))
它将随机选择“Val”列中的值,并将其转换为无值

与一起使用。如果随机值<0.25,则将其替换为
null
。下面是一个非常类似的示例:。这不是一个完全的骗局,所以如果这不能回答你的问题,我可以发布一个答案。另请参见: