我有一个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

最佳答案

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

关于python - Pandas 在分隔符的第三个实例之后拆分列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52257025/

10-11 16:00