我正在使用一个函数将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'))
for element in mylist_column:
ddf= ddf.withColumn(element, quinn.single_space(element))