gpt4 book ai didi

python - 在 Pandas 或 SQL 中保留非英语单词的行

转载 作者:行者123 更新时间:2023-11-29 03:17:22 25 4
gpt4 key购买 nike

我的数据框在 SQL 上看起来像这样(我可以直接在上面编写查询或将其导入 Pandas 然后执行):

videoId    videoName

12234 Racing through the valleys
14533 Character Loose
14456 सूरमा धड़क
17889 हिचकी
16612 মন তোমাকে ছুঁয়ে দিলাম
15580 ঈশানকোণে বিষন্নতায়

所以我想要的数据框应该是这样的:

videoId    videoName

14456 सूरमा धड़क
17889 हिचकी
16612 মন তোমাকে ছুঁয়ে দিলাম
15580 ঈশানকোণে বিষন্নতায়

我想保留带有“印地语”和“孟加拉语”字样的行。无论如何我可以直接从 SQL 或通过导入 Pandas 来做到这一点,无论如何都可以。

然后我想要区分“印地语”和“孟加拉语”。两个不同的数据框,例如:

df_hindi:

    videoId     videoName

14456 सूरमा धड़क
17889 हिचकी

df_bengali:

videoId    videoName

16612 মন তোমাকে ছুঁয়ে দিলাম
15580 ঈশানকোণে বিষন্নতায়

正如我所说,任何方法都可以,但 Pandas 和 Python 更可取。

最佳答案

正在查找 font ranges , 印地语(梵文)似乎是 U+0900–U+097F,而孟加拉语是 U+0980–U+09FF

chars_hindi = [chr(c) for c in range(0x0900, 0x097f)]
chars_bengali = [chr(c) for c in range(0x0980, 0x09ff)]

使用 alternation 通过正则表达式过滤数据帧给你想要的输出:

df_hindi = df[df.videoName.str.contains('|'.join(chars_hindi))]
df_bengali = df[df.videoName.str.contains('|'.join(chars_bengali))]

但请注意,这仅在假定每个 videoName 只包含 either 印地语 梵文的情况下才有效。如果您的数据不能满足该假设,那么您必须以其他方式解决您的问题。

关于python - 在 Pandas 或 SQL 中保留非英语单词的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52967245/

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