大家好,我正在增加我的DF,不知道你们是否可以伸出援助之手。
df = df.withColumn(('COUNTRY'), when(col("COUNTRY").startsWith("US"), "US").otherwise("null"))
我想要实现的是将列重置为,其中列值以US开头,例如US_Rules_Forever
-将数据框简单地重写为US
。用null
ID COUNTRY
1 US_RULES
2 US_SANDWICH
3 USA_CLICKING
4 GLOBAL_CHICKEN_SANDWICH
ID COUNTRY
1 US
2 US
3 US
4 null
根据文档,应该是startswith
,而不是startsWith
。w
不能大写
df2 = df.withColumn('COUNTRY', when(col("COUNTRY").startswith("US"), "US"))
df2.show()
+---+-------+
| ID|COUNTRY|
+---+-------+
| 1| US|
| 2| US|
| 3| US|
| 4| null|
+---+-------+
mck是对的——这是一个语法问题。这篇文章是写给其他开发者的:
df = df.withColumn(('COUNTRY'), when(col("COUNTRY").startswith("US"), "US").otherwise("null"))