gpt4 book ai didi

python - 如何在pandas dataframe中查找中英文组合记录

转载 作者:太空宇宙 更新时间:2023-11-04 11:06:40 24 4
gpt4 key购买 nike

在 pandas 中,数据框有两列,如“FirstName”和“LastName”。从该列中,“FirstName”列可以是英文或中文组合,与“LastName”列相同的列可以是中文或英文组合。所以,我想在dataframe中显示那些英汉组合的记录。

 code snippet:

df.loc[df['FirstName'].str.contains(r'[a-zA-Z]+') & df['FirstName'].str.contains(r'[一种-ž]+'))]

我不知道这段代码是否有效。

我的输入数据框是:

         FirstName          LastName

jocovich nadhal
smith pointing
西德哈斯 supreet
yuvi 雷迪
bsreddy rakshita
sreeja 巴尔加维
雷迪 西德哈斯
Cédric LEMARCHAND
Radosław Piotrowski

上面是我的数据框。但我需要的输出如下:

        FirstName          LastName

西德哈斯 supreet
yuvi 雷迪
sreeja 巴尔加维

我想显示来自dataframe的英文-中文或中文-英文记录。

最佳答案

您可以像我在这里一样搜索 unicode。您也可以反转匹配项:

df.query("FirstName.str.contains(r'[\u4e00-\u9FFF]', regex=True) or LastName.str.contains(r'[\u4e00-\u9FFF]', regex=True)") 

or

df[(df['FirstName'].str.contains(r'[\u4e00-\u9FFF]', regex=True)) | ( df['LastName'].str.contains(r'[\u4e00-\u9FFF]', regex=True))]

或者不匹配中文名字和姓氏:

df[((df['FirstName'].str.contains(r'[\u4e00-\u9FFF]', regex=True)) | ( df['LastName'].str.contains(r'[\u4e00-\u9FFF]', regex=True))) & (~df['FirstName'].str.contains(r'[\u4e00-\u9FFF]', regex=True) | (~df['LastName'].str.contains(r'[\u4e00-\u9FFF]', regex=True)))] 

输出:

  FirstName LastName
2 西德哈斯 supreet
3 yuvi 雷迪
5 sreeja 巴尔加维

关于python - 如何在pandas dataframe中查找中英文组合记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59278891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com