我有一个Pyspark Dataframe (**原始 Dataframe **),包含以下数据(所有列都是字符串数据类型)。在我的用例中,我不确定此输入 Dataframe 中的所有列。用户只需向我传递 Dataframe 的名称,并要求我修剪此 Dataframe 的所有列。典型 Dataframe 中的数据如下所示:
id Value Value1
1 "Text " "Avb"
2 1504 " Test"
3 1 2
有没有任何方法可以做到这一点,而不依赖于所有列出现在这个 Dataframe ,并得到所有列修剪在这个 Dataframe 。数据修剪后,所有列的 Dataframe 应该看起来像。
id Value Value1
1 "Text" "Avb"
2 1504 "Test"
3 1 2
有人能帮我吗?我如何才能实现它使用Pyspark Dataframe ?任何帮助将不胜感激。
5条答案
按热度按时间mlmc2os51#
输入:
代码:
输出:
8i9zcol22#
在@osbon123的答案中使用***trim()***函数。
rkkpypqq3#
这是我见过的最干净(也是计算效率最高)的方法来删除所有列中的所有空格,如果你想用下划线替换空格,只需用
"_"
替换""
。liwlm1x94#
您可以使用DataFrame API中的dtypes函数来获取Cloudn名称及其数据类型的列表,然后对所有字符串列使用"trim"函数来修剪值。
此致,
内拉伊
kokeuurv5#
你应该避免使用
withColumn
,因为它会创建一个新的DataFrame
,这对于非常大的 Dataframe 来说是非常耗时的。我基于这个solution创建了下面的函数,但是现在它可以处理任何 Dataframe ,即使它有字符串和非字符串列。