假设我有一个包含DF的null,如下所示:
In [45]: df2.show()
+-----+----+
|name1| v|
+-----+----+
| john| 1.0|
| null| 4.0|
| meh|null|
+-----+----+
我想添加一个标签(用于ML训练),这样label
是真的当且仅当name1
是john
。这就是我正在做的:
In [47]: df3 = df2.withColumn('label', (df2.name1=='john'))
In [48]: df3.fillna(False, ['label']).show()
+-----+----+---------+
|name1| v| label|
+-----+----+---------+
| john| 1.0| true|
| null| 4.0| false|
| meh|null| false|
+-----+----+---------+
有没有更惯用的方法?我发现df2.withColumn('label', (df2.name1=='john') & ~df2.name1.isNull())
有效,尽管我不明白它为什么有效
目前没有回答
相关问题 更多 >
编程相关推荐