我有一个数据框,其中包含汽车的详细信息。现在,我只保留品牌名称,并删除型号名称。
我尝试使用str.split函数分隔汽车名称。但是,它给了我一个列表,然后我无法提取名字。
splitted = df['CarName'].str.split(' ',1)
预期结果:
alfa-romero
Audi
VW
最终结果:
[alfa-romero, giulia]
[alfa-romero, stelvio]
[alfa-romero, Quadrifoglio]
[audi, 100 ls]
[audi, 100ls]
答案 0 :(得分:0)
那你就可以做
splitted = df['CarName'].str.split(' ',1).str[0]
答案 1 :(得分:0)
您可以通过两种方式进行操作,一种是WeNYoBen在其评论中解释的方式,也可以是针对品牌列表使用摘录
df['brand'] =df['cars'].str.split(' ',1).str[0]
或
pattern =['audi', 'alfa-romero']
df['brand_2'] =df['cars'].str.extract("(" + "|".join(pattern) +")", expand=False)
答案 2 :(得分:0)
这可以通过将pandas.DataFrame.apply与str.split一起使用
df['res']= df['CarName'].apply(lambda x : str(x).split(' ')[0])