首页 > 解决方案 > Pandas 在第三个分隔符实例后拆分列?

问题描述

我有一个数据框列,我想将其拆分为 3 个单独的列。

o_order_df
         expiry
0    27-Sep-2018-260-CE
1    27-Sep-2018-250-CE


o_order_df[['expiry','strike','type']] = o_order_df['expiry'].str.split('-', n>=2, expand=True)

我想split第三column次出现-.

我不断收到错误消息:

回溯(最近一次调用最后一次):文件“”,第 1 行,在 NameError 中:名称 'n' 未定义

预期产出

o_order_df

         expiry     strike     type
0    27-Sep-2018    260        CE
1    27-Sep-2018    250        CE

我可以split按分隔符列。

标签: pythonpandas

解决方案


n=2与 一起使用rsplit

o_order_df[['expiry','strike','type']] = o_order_df['expiry'].str.rsplit('-',n=2,expand=True)

如果性能很重要,请使用列表理解rsplit

c = ['expiry','strike','type']
df = pd.DataFrame([x.rsplit('-', 2) for x in o_order_df['expiry']], columns=c)
print (df)
        expiry strike type
0  27-Sep-2018    260   CE
1  27-Sep-2018    250   CE

推荐阅读