在sql上,我的Dataframe看起来像这样(我可以直接在那里编写查询,也可以在pandas中导入查询,然后执行):
videoId videoName
12234 Racing through the valleys
14533 Character Loose
14456 सूरमा धड़क
17889 हिचकी
16612 মন তোমাকে ছুঁয়ে দিলাম
15580 ঈশানকোণে বিষন্নতায়
所以我渴望的Dataframe是这样的:
videoId videoName
14456 सूरमा धड़क
17889 हिचकी
16612 মন তোমাকে ছুঁয়ে দিলাম
15580 ঈশানকোণে বিষন্নতায়
我想保留“印地语”和“孟加拉语”的字行。有没有我可以做的,直接从sql或通过导入Pandas,反正会工作。
然后我想区分“印地语”和“孟加拉语”。两种不同的Dataframe,如: df_hindi
:
videoId videoName
14456 सूरमा धड़क
17889 हिचकी
``` `df_bengali` :
videoId videoName
16612 মন তোমাকে ছুঁয়ে দিলাম
15580 ঈশানকোণে বিষন্নতায়
正如我所说的,任何方法都可以,但是pandas和python更可取。
2条答案
按热度按时间8ljdwjyq1#
WHERE videoName REGEXP '^(..)*E0A[45]'
将在其中找到天成文书(印地语)中的名字。WHERE videoName REGEXP '^(..)*E0A[67]'
孟加拉语WHERE videoName REGEXP '^(..)*E0A[AB]'
古吉拉特人WHERE videoName NOT REGEXP '^(..)*E0'
会(大约)避免任何印度语言。选定的其他语言可从以下公式推导得出:
或
gab6jxml2#
查找字体范围,印地语(梵文)似乎是u+0900–u+097f,孟加拉语u+0980–u+09ff。
使用alternation通过正则表达式过滤出Dataframe,得到所需的输出:
不过,请注意,这只适用于假设,即
videoName
只包含印地语或天成文书。如果你的数据不能坚持这个假设,那么你必须用另一种方法来解决你的问题。