如何在大量数据框列上应用我的 single_space 函数?
How to I apply my single_space function on a large number of dataframe columns?
我正在使用一个函数将 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))
我正在使用一个函数将 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))