Я буду использовать Google Do c Формат строки и преобразую ваш код. Важно назвать ваши функции и аргументы понятными, чтобы их можно было легко понять и интерпретировать
def split_columns(brands, brands_data):
"""Used to split column string on the `|` character
Args:
brands (str): String containing brand names separated
by `|` character to be seperated
brands_data (pandas df column): Dataframe column containing the information
Returns:
The updated dataframe column
"""
for brand in brands:
brands_data[brand]=brands_data[brand].apply(lambda x: x.split('|'))
return brands_data
При этом я чувствую, что что-то чувствует отсюда.
Если вы просто передаете столбец, и все, что вам нужно, это вернуть столбец так, чтобы каждая запись теперь была вложенным списком ...
'1|Versace|Levis|Adidas|' --> ['1','Versace','Levis','Adidas']
Самый простой способ - не использовать функцию и просто вызвать .apply()
напрямую:
Предполагая, что фрейм данных с именем df
и строка фрейма данных с именем Brands
>>>df
Brands
0 0|Gucci|Prada|
1 1|Versace|Levis|Adidas|
2 2|Champion|Diesel|Nike|
>>>df["Brands"] = df["Brands"].apply(lambda row: row.split('|'))
>>>df
Brands
0 [0, Gucci, Prada, ]
1 [1, Versace, Levis, Adidas, ]
2 [2, Champion, Diesel, Nike, ]
Надеюсь, это разъяснение может помочь вам