如何从 pandas 的列中过滤出首次出现的普通话字符并将其放入另一列

How to filter first occurrence of Mandarin characters from a column in pandas and put that in another column

我有一个数据框 df :

import pandas as pd
df = pd.DataFrame({"ID": [1,2,3,4,5],
           "eng_mand" :["後山 4.7·3 reviews Community Center 竹杉園休閒農場",
                        "Taipei City 台北市Taiwan",
                        "綠山谷海芋園餐廳 3.8·52 reviews",
                        "名陽匍休閒農莊minyangpu大賞園",
                        "Menghuanhu"]})

看起来像:

   ID                                   eng_mand
0   1  後山 4.7·3 reviews Community Center 竹杉園休閒農場
1   2                      Taipei City 台北市Taiwan
2   3                    綠山谷海芋園餐廳 3.8·52 reviews
3   4                        名陽匍休閒農莊minyangpu大賞園
4   5                                 Menghuanhu

我想从列 eng_mand 中过滤掉第一次出现的普通话字符,并将其放在另一列 mandarin_char 中。我的最终输出必须如下所示:

   ID                                   eng_mand             mandarin_char          
0   1  後山 4.7·3 reviews Community Center 竹杉園休閒農場        後山
1   2                      Taipei City 台北市Taiwan             台北市
2   3                    綠山谷海芋園餐廳 3.8·52 reviews         綠山谷海芋園餐廳
3   4                        名陽匍休閒農莊minyangpu大賞園       名陽匍休閒農莊
4   5                                 Menghuanhu

如何在 python - pandas

中执行此操作

使用str.findall and pass the regex for the

In[14]:
df['mandarin_char'] = df['eng_mand'].str.findall('[\u4e00-\u9fff]+').str[0]
df

Out[14]: 
   ID                                   eng_mand mandarin_char
0   1  後山 4.7·3 reviews Community Center 竹杉園休閒農場            後山
1   2                      Taipei City 台北市Taiwan           台北市
2   3                    綠山谷海芋園餐廳 3.8·52 reviews      綠山谷海芋園餐廳
3   4                        名陽匍休閒農莊minyangpu大賞園       名陽匍休閒農莊
4   5                                 Menghuanhu           NaN

如果需要,您可以对结果调用 fillna('') 来替换 NaN

使用 str.extract all chinese chars 并在必要时添加 fillna 以将 NaN 替换为空字符串:

df['mandarin_char'] = df['eng_mand'].str.extract(r'([\u4e00-\u9fff]+)').fillna('')
print (df)
   ID                                   eng_mand mandarin_char
0   1  後山 4.7·3 reviews Community Center 竹杉園休閒農場            後山
1   2                      Taipei City 台北市Taiwan           台北市
2   3                    綠山谷海芋園餐廳 3.8·52 reviews      綠山谷海芋園餐廳
3   4                        名陽匍休閒農莊minyangpu大賞園       名陽匍休閒農莊
4   5                                 Menghuanhu