Как выбрать строки в фрейме данных, где данный столбец соответствует регулярному выражению в Python? [Дубликат]

Для jython, если используется Java 5, вы можете получить идентификатор процесса Java следующим образом:

из java.lang.management import * pid = ManagementFactory.getRuntimeMXBean (). getName ()

93
задан ferkulat 9 April 2016 в 18:08
поделиться

6 ответов

Уже существует функция обработки строк Series.str.startwith().

Вы должны попробовать foo[foo.b.str.startswith('f')].

Результат:

a   b
1   2   foo
2   3   fat

Я думаю, что вы ожидаете.

7
ответ дан Ali Hesari 19 August 2018 в 02:48
поделиться

Напишите булевскую функцию, которая проверяет регулярное выражение и применяет его применительно к столбцу

foo[foo['b'].apply(regex_function)]
2
ответ дан Jean-François Corbett 19 August 2018 в 02:48
поделиться

Поиск нескольких столбцов с помощью dataframe:

frame[frame.filename.str.match('*.'+MetaData+'.*') & frame.file_path.str.match('C:\test\test.txt')]
13
ответ дан m0nhawk 19 August 2018 в 02:48
поделиться
  • 1
    frame? и 'C:\test\test.txt'? Похоже, вы отвечаете на другой вопрос. – Matt O'Brien 26 June 2015 в 17:16
  • 2
    frame - df. он связан с одним и тем же вопросом, но он отвечает как фильтровать несколько столбцов («имя файла» и «путь к файлу») в одном строчном коде. – lakshman senathirajah 29 June 2015 в 16:17

Это может быть немного поздно, но теперь это легче сделать в Пандах. Вы можете вызвать совпадение с as_indexer=True, чтобы получить логические результаты. Это документировано (наряду с различием между match и contains) здесь .

7
ответ дан Michael Siler 19 August 2018 в 02:48
поделиться

Используйте вместо :

In [10]: df.b.str.contains('^f')
Out[10]: 
0    False
1     True
2     True
3    False
Name: b, dtype: bool
103
ответ дан waitingkuo 19 August 2018 в 02:48
поделиться
1
ответ дан sparrow 30 October 2018 в 14:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: