В вашем коде есть 2 незначительные ошибки. Вам нужно изменить \w
на \w+
, а также сделать шаблон замены необработанной строкой.
Без плюса \w
будет соответствовать только одному символу.
print(df['Data'].str.replace(r'(not|no)(\s)(\w+)(\s)(more)', r'\1_\3_\5'))
#0 can seem form something like coherent...
#1 not_any_more...
#2 is unclear any better deal...
#3 Peter won’t start if you don’t sit...
#4 is unclear basic conditions any...
#Name: Data, dtype: object
Существует несколько учебников об этом виде материала там, когда я был в колледже, мы сделали это для проекта класса. Эта книга должна действительно помочь Вам на Вашем пути Системы баз данных: Полная Книга
Я забыл упоминать это, но мой код находится на googlecode здесь: cs4420-dbase
Простите факт, который это записано в Java, но я был забаллотирован моими товарищами по команде на том решении. но основные идеи - все все еще там. Это обрабатывает создание файла и обработку, а также простой синтаксический анализатор SQL и оптимизатор. Это обрабатывает основную индексацию управление "памятью" и (B-дерево). Простите часть отсутствия комментария и странного комментария, много последних ночей были проведены на тот проект.
Я предложил бы запуститься с Введения в Системы Информации о транзакциях и Системы баз данных. У них должны оба быть библиографии для взятия Вас далее.
Здание RDMS не является trival, необходимо объединить классическое знание CS от нескольких полей вместе с глубокими знаниями о жестких дисках, специфических особенностях ОС, файловых системах, памяти, CPU, кэши для создания этого эффективным.
Хорошая статья об архитектуре, которую мы требуемся считать:
http://www.nowpublishers.com/product.aspx?product=DBS&doi=1900000002
Для теоретических знаний о базах данных я рекомендовал бы купить книгу по этой теме, я могу только говорить о книге, которую я использую для этого, которое является Системами баз данных Прикладной Подход Kifer, Bernstein и Lewis.
Вы могли бы хотеть посмотреть на некоторые базы данных с открытым исходным кодом для идей.