我在数据框中有一些看起来像这样的数据:
Japanese
--------
明日|Adverb の 天気|Weather は なんですか
在这里,明日被标记为副词,天気被标记为天气。
我正在使用Pandas和正则表达式,寻找一种在具有日语,竖线和英语的字符周围添加{}
的方法,而不是仅在日语周围。
我尝试将regex与以下内容配合使用,但始终收到语法错误:
df。['Japanese'] = df ['Japanese']。str.append('(。+?\ | [A-Za-z _] +)\', '{(。+?\ | [[A-Za-z _] +)}')
所需的输出如下(也正在寻找一种可以同时删除所有空格的方法...如果不可能的话,我以后可以这样做):
Japanese
--------
{明日|Adverb}の{天気|Weather}はなんですか
谢谢!
答案 0 :(得分:2)
您可以使用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
答案 1 :(得分:1)
我想你想要这个
df['Japanese'].replace(r'(.+?\|[A-Za-z_]+)','{\g<0>}', inplace=True, regex=True)
\g<0>
是对(
和)
不幸的是,我无法弄清楚如何替换一行中的空格,因此之后您想这样做
df['Japanese'].replace('\s','', inplace=True,regex=True)