Подсчитывать число только в том случае, если в столбце df есть цифра после специального символа - PullRequest
0 голосов
/ 02 июля 2019

Если после числа есть специальный символ, а после него нет ничего, специальный знак также учитывается.

токовый выход:

 109* = 2  

 405,406+,407 = 4

 20++1=3

ожидаемый выход:

109* = 1 

405,406+,407 = 3

20++1=2

code1:

   data['total_books']=data.books.str.count('[!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]').add(1)

code2:

   data.books.str.split(r'[!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]').str.len()

оба кода дают одинаковый вывод.

любое возможное решение.

Ответы [ 2 ]

1 голос
/ 02 июля 2019

из строки ниже

data.books.str.split(r'[!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]').str.len()

Я удалил оператор (равно) =

data.books.str.split(r'[!"#$%&\'()*+,-./:;<>?@[\\]^_`{|}~]').str.len()

Результат может быть равен ожидаемому.

0 голосов
/ 02 июля 2019
str1 = '109*'
str2 = '405,406+,407'
str3 = '20++1'

str_ls = re.split(r'[!"#$%&\'()*+,-./:;<=>?@\[\]^_`{|}]', str3)
str_ls = [x for x in str_ls if len(x)>0]
)
len(str_ls)
2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...