(интерактивная консоль Python) отмечает команды ввода и выводит таким образом

я есть df,

Name
Ram is one of the key ram
Kumar is playing cricket
Ravi is playing and ravi is a good player

и список

my_list=["Ram","ravi"]

и мой желаемый кадр данных,

desired_df,
Name                                        Match    Count 
Ram is one of the key ram                   Ram      1
Kumar is playing cricket                 
Ravi is playing and ravi is a good player   ravi     1   

Я пытался

 extracted = df.str.findall('(' + '|'.join(my_list) + ')', 
 flags=re.IGNORECASE).apply(set)
 but I am getting like,
 Match
 Ram,ram
 Ravi,ravi

но я не могу достичь желаемого результата, пожалуйста, помогите.

 pyd03 нояб. 2017 г., 14:35
Да, я хочу применить игнорировать регистр
 Dark03 нояб. 2017 г., 14:28
Почему счет 1. Разве это не 2?
 MaxU03 нояб. 2017 г., 14:31
@ Бхарат, упс, я пропустил ту часть ...
 Dark03 нояб. 2017 г., 14:30
Зачем тогда игнорировать регистр? Немного неясно здесь
 MaxU03 нояб. 2017 г., 14:30
@Bharath, я думаю, что OP хочет использовать регистрозависимый поиск

Ответы на вопрос(2)

Это то, что вы ищите ?

new_l = [i.lower() for i in my_list]
extracted = df['Name'].str.lower().str.findall('(' + '|'.join(new_l) + ')').apply(set)


df['Match'] = extracted.apply(','.join)
df['count'] = extracted.apply(len)
                                          Name     Match  count
0                      Ram is one of the key ram       ram      1
1                       Kumar is playing cricket                0
2  Ravi Ram is playing and ravi is a good player  ram,ravi      2
 pyd15 нояб. 2017 г., 13:34
вы можете помочьstackoverflow.com/questions/47305897/...
 Dark15 нояб. 2017 г., 15:10
Я работал над этим решением, но мои друзья позвонили, так что пришлось идти. Это непростое задание. :)
 pyd03 нояб. 2017 г., 15:20
Спасибо за решение. Я проверю и обновлю.
In [187]: pat = '({})'.format('|'.join(my_list))

In [188]: df['Match'] = df['Name'].str.extract(pat, expand=False)

In [190]: df['Count'] = df.Name.str.count(pat)

In [191]: df
Out[191]:
                                                Name Match  Count
0                          Ram is one of the key ram   Ram      1
1                           Kumar is playing cricket   NaN      0
2  Ravi is playing and ravi (ravi ravi) is a good...  ravi      3  # i've intentionally added `(ravi ravi)`
 MaxU03 нояб. 2017 г., 17:00
@RaheelKhan,iPython (интерактивная консоль Python) отмечает команды ввода и выводит таким образом
 pyd03 нояб. 2017 г., 14:33
Я не хочу проверять "Имя"df['Count'] = df.Name.str.count(pat) В некоторых случаях, если у меня есть Ram, ravi в столбце Match, тогда значение count должно быть 2, поэтому я хочу разделить слова на (,) и считать
 Raheel Khan03 нояб. 2017 г., 16:58
Почему естьIn [187]: тип вещи в большинстве панд связанных ответов?

Ваш ответ на вопрос