Я искал несколько сообщений об условном нарезании, к сожалению, я не нашел ни одного, пока работал для моего вопроса. Пожалуйста, исправьте меня, если я ошибаюсь.
Я просто хотел нарезать новый фрейм данных из старого фрейма данных, в столбце «имя» которого не будет «конференции» (без учета регистра).
Я создал test_data, как показано ниже:
test_data=pd.DataFrame({
'name': ['conference','company']
})
В результате я хочу получить всего одну строку, «company» в столбце «name».
Функция, которую я написал, как показано ниже, выполняла логическое выражение для каждой строки столбца «name»:
def ifConference(x):
if re.search('conference', x, re.IGNORECASE) is None:
print('True')
Результат должен дать мне строку 1, однако было очевидно, что я этого не делал правильно:
test_data[test_data.apply(lambda x: ifConference(x.name)).index]
Он напечатал «True», а затем вывел исходный фрейм данных, строка 0 - «конференция», а строка 1 - «компания». Любая помощь будет высоко ценится! Спасибо за внимание!