【问题标题】:Replace a null value with a string value用字符串值替换空值
【发布时间】:2022-12-09 13:14:12
【问题描述】:

我尝试将 null 值转换为字符串变量 x。原因是这个数据框应该导入到 power Bi 来进行可视化。我们的目标是计算一个箱线图,我的想法是如果有一个x,那么这些值将不会被包含在计算中。这样,我们就可以避免在计算中高估。用 x 替换空值是个好主意吗?或者有更好的方法吗?

data = [["1", "Amit", "DU", "I", "8", "6"],
        ["2", "Mohit", "DU", "I", "4", "2"],
        ["3", "rohith", "BHU", "I", "5", "3"],
        ["4", "sridevi", "LPU", "I", "1", "6"],
        ["1", "sravan", "KLMP", "M", "2", "4"],
        ["5", "gnanesh", "IIT", "M", "null", "8"],
       ["6", "gnadesh", "KLM", "c", "10", "null"]]

columns = ['ID', 'NAME', 'college', 'metric', 'x', 'y']


dataframe = spark.createDataFrame(data, columns)

实际产量

+---+-------+-------+------+----+-----+
| ID|   NAME|college|metric|  x |  y  |
+---+-------+-------+------+----+----+
|  1|   Amit|     DU|     I|  8 |  6 |
|  2|  Mohit|     DU|     I|  4 |  2 |
|  3| rohith|    BHU|     I|  5 |  3 |
|  4|sridevi|    LPU|     I|  1 |  6 |
|  1| sravan|   KLMP|     M|  2 |  4 |
|  5|gnanesh|    IIT|     M|null|  8 |
|  6|gnadesh|    KLM|     c| 10 |null|
+---+-------+-------+------+----+----+

期望的输出

+---+-------+-------+------+----+-----+
| ID|   NAME|college|metric|  x |  y  |
+---+-------+-------+------+----+----+
|  1|   Amit|     DU|     I|  8 |  6 |
|  2|  Mohit|     DU|     I|  4 |  2 |
|  3| rohith|    BHU|     I|  5 |  3 |
|  4|sridevi|    LPU|     I|  1 |  6 |
|  1| sravan|   KLMP|     M|  2 |  4 |
|  5|gnanesh|    IIT|     M|  x |  8 |
|  6|gnadesh|    KLM|     c| 10 |  x |
+---+-------+-------+------+----+----+

我试过这段代码,但我不工作 带字符串,但只带数字


data = data.fillna({'y':'x'})

【问题讨论】:

  • 检查null是否写成字符串?如果是,则使用when().otherwise()

标签: pyspark data-cleaning data-wrangling


【解决方案1】:

您可以使用以下内容:

data = data.fillna('x')

请确保您的列 x 和 y 均为 Stringtype():

data = data.withColumns('x',col(('x').cast('string'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-12
    • 2022-01-03
    • 1970-01-01
    • 2016-04-14
    • 2019-06-30
    • 2015-11-28
    • 2022-06-10
    相关资源
    最近更新 更多