熊猫在分隔符的第三个实例之后拆分列?

时间:2018-09-10 11:41:48

标签: python pandas

我有一个dataframe column,我想分成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来列。

TIA

1 个答案:

答案 0 :(得分:2)

n=2rsplit一起使用:

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