我有一个简单的PySpark数据框架,df1-
df1 = spark.createDataFrame([
("u1", 1),
("u1", 2),
("u2", 3),
("u3", 4),
],
['user_id', 'var1'])
print(df1.printSchema())
df1.show(truncate=False)
输出-
root
|-- user_id: string (nullable = true)
|-- var1: long (nullable = true)
None
+-------+----+
|user_id|var1|
+-------+----+
|u1 |1 |
|u1 |2 |
|u2 |3 |
|u3 |4 |
+-------+----+
我有另一个PySpark数据帧df2-
df2 = spark.createDataFrame([
(1, 'f1'),
(2, 'f2'),
],
['var1', 'var2'])
print(df2.printSchema())
df2.show(truncate=False)
输出-
root
|-- var1: long (nullable = true)
|-- var2: string (nullable = true)
None
+----+----+
|var1|var2|
+----+----+
|1 |f1 |
|2 |f2 |
+----+----+
我必须连接上面提到的两个数据帧,通过对它们使用左连接操作-
df1.join(df2, df1.var1==df2.var1, 'left').show()
输出-
+-------+----+----+----+
|user_id|var1|var1|var2|
+-------+----+----+----+
| u1| 1| 1| f1|
| u1| 2| 2| f2|
| u2| 3|null|null|
| u3| 4|null|null|
+-------+----+----+----+
但如您所见,我在有两个表不匹配的行中获得空值。如何将所有空值替换为0?
您可以在连接
后重命名列(否则会得到同名列),并使用字典指定要如何填充缺少的值:
f1.join(df2, df1.var1 == df2.var1, 'left').select(
*[df1['user_id'], df1['var1'], df2['var1'].alias('df2_var1'), df2['var2'].alias('df2_var2')]
).fillna({'df2_var1': 0, 'df2_var2': '0'}).show()
输出:
+-------+----+--------+--------+
|user_id|var1|df2_var1|df2_var2|
+-------+----+--------+--------+
| u1| 1| 1| f1|
| u2| 3| 0| 0|
| u1| 2| 2| f2|
| u3| 4| 0| 0|
+-------+----+--------+--------+
您可以使用< code>fillna。需要两个fillnas来说明整数和字符串列。
df1.join(df2, df1.var1==df2.var1, 'left').fillna(0).fillna("0")
我在pyspark中有一个超过300列的数据帧。在这些列中,有些列的值为null。 例如: 当我想对列u 1求和时,结果得到的是Null,而不是724。 现在,我想用空格替换数据框所有列中的null。因此,当我尝试对这些列求和时,我不会得到null值,但会得到一个数值。 我们如何在pyspark中实现这一点
本文向大家介绍如何在R数据帧中将空值转换为NA?,包括了如何在R数据帧中将空值转换为NA?的使用技巧和注意事项,需要的朋友参考一下 当我们的数据包含空值时,很难执行分析,我们可能会将这些空值转换为NA,以便我们了解不可用的值的数量。这可以通过使用单个方括号来完成。 示例 请看以下具有一些空值的数据框- 将空值转换为NA-
在从< code>RDD制作< code >数据帧时,我遇到了一个错误。 我收到以下错误: py spark . SQL . utils . parse exception:u " \ nmis matched input ' '应为{'SELECT ',' FROM ',' ADD ',' AS ',' ALL ',' DISTINCT ',' WHERE ',' GROUP ',' BY ',
我有一个包含n列的数据帧,我想用空值替换所有这些列中的空字符串。 我试过用 和 他们两个都没有工作。 如有任何线索,我们将不胜感激。谢谢
本文向大家介绍如何将NA替换为R数据帧中选定列的值?,包括了如何将NA替换为R数据帧中选定列的值?的使用技巧和注意事项,需要的朋友参考一下 在数据分析中,在数据框中查找某些NA值非常普遍,但如果包含NA值的列对分析无用,则所有NA值都不会产生问题。我们可以将所有NA值替换为0或将其他有用的列替换为其他值。 示例 请看以下数据帧- 将NA的连续列更改为零- 将NA的非连续列更改为零-
我有两个数据帧 df1 和 df2。我正在尝试加入(左加入) DF1: df2: Final=df1.join(df2,on=['ID'],how='left') 但是,如果值为空,我想用column值填充 列 预期输出: 解决方案,我能想到的是,一旦连接完成,我可以检查的值,如果为空,则替换为。如果有其他优雅的解决方法,请告诉我。谢谢。