如何在大量数据框列上应用我的 single_space 函数? [关闭]
Posted
技术标签:
【中文标题】如何在大量数据框列上应用我的 single_space 函数? [关闭]【英文标题】:How to I apply my single_space function on a large number of dataframe columns? [closed] 【发布时间】:2020-01-27 10:36:49 【问题描述】:我正在使用一个函数将 pyspark 数据帧中的所有空格转换为单个空格。我可以使用 .withcolumn 单独应用此功能来分隔列。现在,我有大约 120 列混合类型,我想将此函数仅应用于字符串列。为此,我创建了一个仅包含字符串类型的列名的列表。如何使用 withcolumn 将此数组输入(应用、映射?)我的函数?
import quinn
#example data
data =
'fruits': ["apples", " banana", "cherry"],
'veggies': [1, 0, 1],
'meat': ["pig", "cow", " chicken "]
df = pd.DataFrame(data)
ddf = spark.createDataFrame(df)
mylist_column= [item[0] for item in df.dtypes if item[1].startswith('string')]
df= df.withColumn('fruits', quinn.single_space('fruits'))
【问题讨论】:
在mylist_column
上使用for循环
好吧,该死的......这个星期一早上我一定不太清醒。
不使用 for 循环在分布式环境中是一个约束,但在惰性执行方案中,这只是计划好的。
【参考方案1】:
for element in mylist_column:
ddf= ddf.withColumn(element, quinn.single_space(element))
【讨论】:
以上是关于如何在大量数据框列上应用我的 single_space 函数? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 pyspark 数据框列上拟合内核密度估计并将其用于创建具有估计的新列
如何使用 Spark 数据框列上的函数或方法使用 Scala 进行转换