如何将DataFrame中的英文大写单词转为小写并插入原行下方?
解决方案
可以通过 pandas 实现需求,核心步骤是生成小写版本的行数据,再与原数据按行交错合并:
- 生成小写版本的DataFrame:复制原数据,将
en列(及需要转换的英文列)转为小写 - 交错合并原数据与小写数据:通过索引排序实现原行、小写行的交替排列
代码示例
import pandas as pd # 原数据(对应你提供的初始表格) df = pd.DataFrame({ 'en': ['Acceptive', 'Access'], 'ko': ['Acceptive koean mean', 'Access koean mean'] }) # 生成小写版本的行:复制原数据后转换en列为小写 df_lower = df.copy() df_lower['en'] = df_lower['en'].str.lower() # 如果需要同时转换ko列中的英文大写,可添加以下代码 # df_lower['ko'] = df_lower['ko'].str.lower() # 合并并按索引排序实现交错排列 result_df = pd.concat([df, df_lower]).sort_index(kind='mergesort') # 重置索引(可选,让索引从0开始连续) result_df = result_df.reset_index(drop=True) print(result_df)
输出结果
| en | ko | |
|---|---|---|
| 0 | Acceptive | Acceptive koean mean |
| 1 | acceptive | Acceptive koean mean |
| 2 | Access | Access koean mean |
| 3 | access | Access koean mean |
如果需要调整ko列的内容(如你示例中简化或修改的形式),可在生成df_lower时对ko列做对应的字符串处理,比如截取或替换:
# 示例:将ko列中的"mean"去掉 df_lower['ko'] = df_lower['ko'].str.replace(' mean', '')
内容的提问来源于stack exchange,提问作者이승우
相关产品推荐
相关产品推荐

