我将使用Google Doc String Format 并转换您的代码。重要的是给你的函数和参数命名一些可以理解的东西,这样它们就可以很容易被理解和解释
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, ]
希望此澄清对您有所帮助