【问题标题】:Pandas split column after third instance of delimiter?Pandas 在第三个分隔符实例后拆分列?
【发布时间】:2021-08-06 18:18:40
【问题描述】:

我有一个数据框列,我想将其拆分为 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

我不断收到错误:

Traceback(最近一次调用最后一次): 文件“”,第 1 行,在 NameError: name 'n' 未定义

预期输出

o_order_df

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

我可以通过分隔符split 列。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    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
    

    【讨论】:

    • 非常感谢。现在阅读rsplit 文档。
    猜你喜欢
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多