добавьте скобки к комбинации букв и японских строк в пандах - PullRequest
0 голосов
/ 16 октября 2018

У меня есть некоторые данные, которые выглядят следующим образом в кадре данных:

Japanese
--------
明日|Adverb の 天気|Weather は なんですか

Здесь 明日 помечен наречием, а 天 with помечен погодой.

Используя Pandas и regex, яЯ ищу способ добавить {} вокруг символов, которые имеют японский язык, трубу и английский, но не только вокруг японского.Я пытался использовать регулярные выражения со следующим, но получаю синтаксическую ошибку:

df. ​​['Japanese'] = df ['Japanese']. Str.append ('(. +? \| [A-Za-z _] +) \ ',' {(. +? \ | [A-Za-z _] +)} ')

Требуемый вывод следующий (такжеищу способ удалить все пробелы одновременно ... если это невозможно, я могу сделать это потом):

Japanese
--------
{明日|Adverb}の{天気|Weather}はなんですか

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Я думаю, что вы хотите это

df['Japanese'].replace(r'(.+?\|[A-Za-z_]+)','{\g<0>}', inplace=True, regex=True)

\g<0> - это ссылка на группу внутри ( и )

, к сожалению, я не мог понять, какзамените пробелы в одной строке, так что после этого вы хотите сделать

df['Japanese'].replace('\s','', inplace=True,regex=True)
0 голосов
/ 16 октября 2018

Вы можете использовать str.replace

df['Japanese'] = df['Japanese'].str.replace(r'(\w*\|[a-zA-Z]+)', r'{\1}', regex=True)   

# To remove white space use
df.Japanese.str.replace('\s',"", regex=True, inplace=True) 

# Output:

0    {'明日|Adverb'}の{'天気|Weather'}はなんですか
Name: Japanese, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...