如何在Pandas中按制表符 分割内容并拆分为多行?
Pandas 拆分制表符分隔内容为单独行
示例输入与期望输出
假设你的输入DataFrame如下:
| 代码 | 其他列 |
|---|---|
| A00\t콜레라\tCholera | 示例 |
期望将制表符分隔的内容拆分为每行一个元素,同时保留其他列的对应值:
| 代码 | 其他列 |
|---|---|
| A00 | 示例 |
| 콜레라 | 示例 |
| Cholera | 示例 |
解决方案
使用Pandas的str.split()拆分制表符内容,再通过explode()将列表元素展开为单独行,是最直接高效的方法:
import pandas as pd # 构造示例输入 df = pd.DataFrame({ '代码': ['A00\t콜레라\tCholera'], '其他列': ['示例'] }) # 1. 拆分目标列的制表符分隔内容,转为列表 df['代码'] = df['代码'].str.split('\t') # 2. 将列表中的每个元素拆分为单独一行 result_df = df.explode('代码') # 查看结果 print(result_df)
补充说明
- 若目标列存在空值,可在
explode()中添加na=False参数,避免空值被拆分为单独行:result_df = df.explode('代码', na=False) - 如果需要拆分多列,只需对每列依次执行
str.split('\t')后,再调用explode()处理对应列即可
内容的提问来源于stack exchange,提问作者이승우
相关产品推荐
相关产品推荐

