如何使用Pandas的explode函数按分隔符拆分指定列生成多行?
用explode实现DataFrame行拆分的方法
完全可以用explode实现这个需求,只需要先把SPLIT列处理成列表格式,再调用explode即可,具体操作如下:
1. 准备原始数据
import pandas as pd df = pd.DataFrame({ 'ASSET_CLASS': ['Core',], 'SPLIT': ['0.6 Government / 0.4 Credit'] })
2. 处理SPLIT列为列表格式
我们可以用正则匹配带空格的斜杠进行分割,直接得到无多余空格的列表:
df['SPLIT'] = df['SPLIT'].str.split('\s*/\s*')
这一步之后,SPLIT列的内容会变成['0.6 Government', '0.4 Credit']。
3. 调用explode拆分行
df = df.explode('SPLIT').reset_index(drop=True)
最终结果
执行后得到的DataFrame就是你想要的样子:
ASSET_CLASS SPLIT 0 Core 0.6 Government 1 Core 0.4 Credit
explode的核心作用就是将包含列表/数组的列展开为多行,同时保留其他列的对应值,刚好匹配你的需求场景。
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

