我的数据框在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更可取。
答案 0 :(得分:0)
查找font ranges时,印地语(devanagari)似乎是 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
都仅包含 印地语或梵文。如果您的数据不能满足该假设,则必须以另一种方式解决问题。
答案 1 :(得分:0)
WHERE videoName REGEXP '^(..)*E0A[45]'
将在其中以梵文(印地文)文本查找名称。
WHERE videoName REGEXP '^(..)*E0A[67]'
代表孟加拉语
WHERE videoName REGEXP '^(..)*E0A[AB]'
for古吉拉特语
WHERE videoName NOT REGEXP '^(..)*E0'
将(大约)避免使用任何印度语言。
可以从以下推论中选择其他语言:
| DEVANAGARI LETTER | E0A485 | E0A4B9 |
| DEVANAGARI SIGN | E0A4BD | E0A4BD |
| DEVANAGARI OM | E0A590 | E0A590 |
| DEVANAGARI LETTER | E0A598 | E0A5A1 |
| DEVANAGARI DIGIT | E0A5A6 | E0A5AF |
| BENGALI LETTER | E0A685 | E0A6B9 |
| BENGALI LETTER | E0A79C | E0A7A1 |
| BENGALI DIGIT | E0A7A6 | E0A7AF |
| BENGALI LETTER | E0A7B0 | E0A7B1 |
| GURMUKHI LETTER | E0A885 | E0A8B9 |
| GURMUKHI LETTER | E0A999 | E0A99E |
| GURMUKHI DIGIT | E0A9A6 | E0A9AF |
| GURMUKHI IRI | E0A9B2 | E0A9B4 |
| GUJARATI LETTER | E0AA85 | E0AAB9 |
| GUJARATI SIGN | E0AABD | E0AABD |
| GUJARATI OM | E0AB90 | E0ABA0 |
| GUJARATI DIGIT | E0ABA6 | E0ABAF |
| ORIYA LETTER | E0AC85 | E0ACB9 |
| ORIYA SIGN | E0ACBD | E0ACBD |
| ORIYA LETTER | E0AD9C | E0ADA1 |
| ORIYA DIGIT | E0ADA6 | E0ADAF |
| TAMIL SIGN | E0AE83 | E0AEB9 |
| TAMIL DIGIT | E0AFA7 | E0AFAF |
| TELUGU LETTER | E0B085 | E0B0B9 |
| TELUGU LETTER | E0B1A0 | E0B1A1 |
| TELUGU DIGIT | E0B1A6 | E0B1AF |
| KANNADA LETTER | E0B285 | E0B2B9 |
| KANNADA LETTER | E0B39E | E0B3A1 |
| KANNADA DIGIT | E0B3A6 | E0B3AF |
| MALAYALAM LETTER | E0B485 | E0B4B9 |
| MALAYALAM LETTER | E0B5A0 | E0B5A1 |
| MALAYALAM DIGIT | E0B5A6 | E0B5AF |
| SINHALA LETTER | E0B685 | E0B786 |
| THAI CHARACTER | E0B881 | E0B8B0 |
| THAI CHARACTER | E0B8B2 | E0B8B3 |
| THAI CHARACTER | E0B980 | E0B986 |
| THAI DIGIT | E0B990 | E0B999 |
| LAO LETTER | E0BA81 | E0BAB0 |
| LAO VOWEL | E0BAB2 | E0BAB3 |
| LAO SEMIVOWEL | E0BABD | E0BB86 |
| LAO DIGIT | E0BB90 | E0BB99 |
| LAO HO | E0BB9C | E0BC80 |
| TIBETAN DIGIT | E0BCA0 | E0BCA9 |
| TIBETAN LETTER | E0BD80 | E0BDAA |
| TIBETAN SIGN | E0BE88 | E0BE8B |
或
E0A4xx DEVANAGARI ऀँंःऄअआइईउऊऋऌऍऎएऐऑऒओऔकखगघङचछजझञटठडढणतथदधनऩपफबभमयरऱलळऴवशषसह़ऽाि
E0A5xx ीुूृॄॅॆेैॉॊोौ्ॎॐ॒॑॓॔ॕक़ख़ग़ज़ड़ढ़फ़य़ॠॡॢॣ।॥०१२३४५६७८९॰ॱॲॹॺॻॼॽॾॿ
E0A6xx BENGALI ঁংঃঅআইঈউঊঋঌএঐওঔকখগঘঙচছজঝঞটঠডঢণতথদধনপফবভমযরলশষসহ়ঽাি
E0A7xx ীুূৃৄেৈোৌ্ৎৗড়ঢ়য়ৠৡৢৣ০১২৩৪৫৬৭৮৯ৰৱ৲৳৴৵৶৷৸৹৺৻
E0A8xx GURMUKHI ਁਂਃਅਆਇਈਉਊਏਐਓਔਕਖਗਘਙਚਛਜਝਞਟਠਡਢਣਤਥਦਧਨਪਫਬਭਮਯਰਲਲ਼ਵਸ਼ਸਹ਼ਾਿ
E0A9xx ੀੁੂੇੈੋੌ੍ੑਖ਼ਗ਼ਜ਼ੜਫ਼੦੧੨੩੪੫੬੭੮੯ੰੱੲੳੴੵ
E0AAxx GUJARATI ઁંઃઅઆઇઈઉઊઋઌઍએઐઑઓઔકખગઘઙચછજઝઞટઠડઢણતથદધનપફબભમયરલળવશષસહ઼ઽાિ
E0ABxx ીુૂૃૄૅેૈૉોૌ્ૐૠૡૢૣ૦૧૨૩૪૫૬૭૮૯૱
E0ACxx ORIYA ଁଂଃଅଆଇଈଉଊଋଌଏଐଓଔକଖଗଘଙଚଛଜଝଞଟଠଡଢଣତଥଦଧନପଫବଭମଯରଲଳଵଶଷସହ଼ଽାି
E0ADxx ୀୁୂୃୄେୈୋୌ୍ୖୗଡ଼ଢ଼ୟୠୡୢୣ୦୧୨୩୪୫୬୭୮୯୰ୱ
E0AExx TAMIL ஂஃஅஆஇஈஉஊஎஏஐஒஓஔகஙசஜஞடணதநனபமயரறலளழவஶஷஸஹாி
E0AFxx ீுூெேைொோௌ்ௐௗ௦௧௨௩௪௫௬௭௮௯௰௱௲௳௴௵௶௷௸௹௺
E0B0xx TELUGU ఁంఃఅఆఇఈఉఊఋఌఎఏఐఒఓఔకఖగఘఙచఛజఝఞటఠడఢణతథదధనపఫబభమయరఱలళవశషసహఽాి
E0B1xx ీుూృౄెేైొోౌ్ౕౖౘౙౠౡౢౣ౦౧౨౩౪౫౬౭౮౯౸౹౺౻౼౽౾౿
E0B2xx KANNADA ಂಃಅಆಇಈಉಊಋಌಎಏಐಒಓಔಕಖಗಘಙಚಛಜಝಞಟಠಡಢಣತಥದಧನಪಫಬಭಮಯರಱಲಳವಶಷಸಹ಼ಽಾಿ
E0B3xx ೀುೂೃೄೆೇೈೊೋೌ್ೕೖೞೠೡೢೣ೦೧೨೩೪೫೬೭೮೯ೱೲ
E0B4xx MALAYALAM ംഃഅആഇഈഉഊഋഌഎഏഐഒഓഔകഖഗഘങചഛജഝഞടഠഡഢണതഥദധനപഫബഭമയരറലളഴവശഷസഹഽാി
E0B5xx ീുൂൃൄെേൈൊോൌ്ൗൠൡൢൣ൦൧൨൩൪൫൬൭൮൯൰൱൲൳൴൵൹ൺൻർൽൾൿ
E0B6xx SINHALA ංඃඅආඇඈඉඊඋඌඍඎඏඐඑඒඓඔඕඖකඛගඝඞඟචඡජඣඤඥඦටඨඩඪණඬතථදධනඳපඵබභමඹයරල
E0B7xx වශෂසහළෆ්ාැෑිීුූෘෙේෛොෝෞෟෲෳ෴
E0B8xx THAI กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู฿
E0B9xx เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛
E0BAxx LAO ກຂຄງຈຊຍດຕຖທນບປຜຝພຟມຢຣລວສຫອຮຯະັາຳິີຶືຸູົຼຽ
E0BBxx ເແໂໃໄໆ່້໊໋໌ໍ໐໑໒໓໔໕໖໗໘໙ໜໝ
E0BCxx TIBETAN ༀ༁༂༃༄༅༆༇༈༉༊་༌།༎༏༐༑༒༓༔༕༖༗༘༙༚༛༜༝༞༟༠༡༢༣༤༥༦༧༨༩༪༫༬༭༮༯༰༱༲༳༴༵༶༷༸༹༺༻༼༽༾༿
E0BDxx ཀཁགགྷངཅཆཇཉཊཋཌཌྷཎཏཐདདྷནཔཕབབྷམཙཚཛཛྷཝཞཟའཡརལཤཥསཧཨཀྵཪཫཬཱཱཱིིུུྲྀཷླྀཹེཻོཽཾཿ
E0BExx ྄ཱྀྀྂྃ྅྆྇ྈྉྊྋྐྑྒྒྷྔྕྖྗྙྚྛྜྜྷྞྟྠྡྡྷྣྤྥྦྦྷྨྩྪྫྫྷྭྮྯྰྱྲླྴྵྶྷྸྐྵྺྻྼ྾྿
E0BFxx ࿀࿁࿂࿃࿄࿅࿆࿇࿈࿉࿊࿋࿌࿎࿏࿐࿑࿒࿓࿔࿕࿖࿗࿘