我的數據框在 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
提交
取消