шумоподавление струн панд - PullRequest
0 голосов
/ 20 октября 2018

Скажите, что у меня есть список напитков:

drinks=['coke','water','milk','yoghourt']

И у меня есть серия панд, содержащая некоторые элементы, смешанные с другими шумными строками

s = pd.Series(['cokeabc',Nan,Nan,'water coke',Nan,'milk and yoghourt','only water'])

Моя цель - отфильтроватьсначала шум, заполните пропущенное значение на основе другого столбца, а затем get_dummies столбца s Моя попытка была:

buff=[]
for i in material:
    if df['drink'].str.contains(i):
        buff.append(i)
kvkl['drink']=' '.join(buff)

, но df ['drink']. str.contains (i) возвращаетвесь столбец bools

мне следует попробовать применить ()?

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

ОК, я разобрался

def drink_format(mtr):
    drinks=['coke','water','milk','yoghourt']
    buff=[]
    for i in drinks:
        if i in mtr:
            buff.append(i)

    return ' '.join(buff)

s=s.map(drink_format)
0 голосов
/ 20 октября 2018

Вы можете легко заставить свой код работать, просто добавив .any() в конце кода:

buff=[]
for i in material:
    if df['drink'].str.contains(i).any():
        buff.append(i)
kvkl['drink']=' '.join(buff)

Это проверит, получила ли какая-либо ячейка True и даст ожидаемый результат.

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