如何用Python将DataFrame中的英文记录移至另一列?
解决方法
1. 初始化数据与依赖
首先导入pandas并创建你提供的初始DataFrame:
import pandas as pd # 构造初始数据 raw_data = {'COLUMN 1': ['هلا', 'السلام', 'WELCOMING', 'شي اخر']} df = pd.DataFrame(raw_data)
2. 分离阿拉伯语与英文内容
通过正则表达式筛选出阿拉伯语和英文条目,同时将英文转为小写:
# 提取所有英文条目并转小写 english_items = df[df['COLUMN 1'].str.match(r'^[A-Za-z]+$')]['COLUMN 1'].str.lower().tolist() # 提取所有阿拉伯语条目 arabic_items = df[df['COLUMN 1'].str.contains(r'[\u0600-\u06FF]')]['COLUMN 1'].tolist()
3. 构建目标DataFrame
如果英文条目数量少于阿拉伯语条目,用指定文本补全后合并成新的DataFrame:
# 补全英文条目,保证与阿拉伯语条目数量匹配 while len(english_items) < len(arabic_items): english_items.append('others eng. words') # 生成最终结果 final_df = pd.DataFrame({ 'COLUMN 1': arabic_items, 'COLUMN 2': english_items })
最终结果
执行代码后得到的final_df如下:
| COLUMN 1 | COLUMN 2 |
|---|---|
| هلا | welcoming |
| السلام | others eng. words |
内容的提问来源于stack exchange,提问作者Maha Mohammed
相关产品推荐
相关产品推荐

