Есть ли возможность разделить ключевое слово, если в одной строке более одного - PullRequest
2 голосов
/ 18 марта 2020

Есть ли возможность разделить ключевое слово, если в одной строке более одного? Это на самом деле данные опроса, чтобы узнать узнаваемость бренда.

Например, если у меня есть df, как это:

df

ID                             Brand
1                              BMW
2                              VW-BMW-Audi
3                              Audi
4                              Mercedes-Audi

мой желаемый результат будет выглядеть так:

ID                             Brand
1                              BMW
2                              VW
2                              BMW
2                              Audi
3                              Audi
4                              Mercedes
4                              Audi

Так что я хотел бы, чтобы id оставалось одинаковым для всех ключевых слов, которые появляются в той же строке, что вы можете видеть в желаемом выводе.

Ответы [ 2 ]

4 голосов
/ 18 марта 2020

Попробуйте следующее:

df = df.assign(Brand = df.Brand.str.split('-')).explode('Brand')
print(df)
   ID     Brand
0   1       BMW
1   2        VW
1   2       BMW
1   2      Audi
2   3      Audi
3   4  Mercedes
3   4      Audi
4 голосов
/ 18 марта 2020

Можно попробовать

df["Brand"] = df["Brand"].apply(lambda x: x.split("-"))

print(df.explode("Brand"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...