我的数据框在 SQL 上看起来像这样(我可以直接在那里编写我的查询,也可以将其导入 Pandas 然后执行):videoId videoName12234 Racing through the valleys14533 Character Loose14456 सूरमा धड़क 17889 हिचकी16612 মন তোমাকে ছুঁয়ে দিলাম15580 ঈশানকোণে বিষন্নতায়所以我渴望的数据框是这样的:videoId videoName 14456 सूरमा धड़क 17889 हिचकी 16612 মন তোমাকে ছুঁয়ে দিলাম 15580 ঈশানকোণে বিষন্নতায়我想保留带有“印地语”和“孟加拉语”字样的行。无论如何我可以直接从 SQL 或通过在 Pandas 中导入来做到这一点,无论如何都可以。然后我想要区分“印地语”和“孟加拉语”。两个不同的数据帧,如:df_hindi: videoId videoName 14456 सूरमा धड़क 17889 हिचकीdf_bengali:videoId videoName16612 মন তোমাকে ছুঁয়ে দিলাম15580 ঈশানকোণে বিষন্নতায়正如我所说,任何方法都可以,但 Pandas 和 Python 更可取。
2 回答

慕慕森
TA贡献1856条经验 获得超17个赞
查找字体范围,印地语(梵文)似乎是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)]
使用交替通过正则表达式过滤掉数据帧为您提供所需的输出:
df_hindi = df[df.videoName.str.contains('|'.join(chars_hindi))]
df_bengali = df[df.videoName.str.contains('|'.join(chars_bengali))]
虽然被警告,这只能给出的假设,每一个videoName也只包含无论是印地文和梵文。如果您的数据不能满足该假设,那么您必须以另一种方式解决您的问题。
添加回答
举报
0/150
提交
取消