【问题标题】:Separate text between square brackets as a separate column in python将方括号之间的文本分隔为 python 中的单独列
【发布时间】:2022-11-23 15:52:31
【问题描述】:

我有以下以下列,

column_1 = ["a [9A87]", "b [2H89]", "c [00052A]", "d [52A]"]
column_2 = ["aa", "bb", "cc", "dd"]
column_3 = [4, 4.5, 23, 1]

zipped = list(zip(column_1 , column_2, column_3))
df = pd.DataFrame(zipped, columns=['column_1' , 'column_2', 'column_3'])

我想从第一列中提取方括号之间的文本作为单独的列。下面是我正在寻找的输出,

column_1 = ["a", "b", "c", "d"]
column_2 = ["aa", "bb", "cc", "dd"]
column_3 = [4, 4.5, 23, 1]
column_4 = ["9A87", "2H89", "00052A", "52A"]

zipped = list(zip(column_1 , column_2, column_3, column_4))
df = pd.DataFrame(zipped, columns=['column_1' , 'column_2', 'column_3', 'column_4'])

我在这里使用方括号,但我认为该解决方案应该适用于任何类型的括号。

【问题讨论】:

    标签: python regex


    【解决方案1】:

    我会在这里使用str.extract

    df["column_4"] = df["column_1"].str.extract(r'[(.*?)]')
    

    【讨论】:

    • 嗨蒂姆!感谢您提供解决方案。但是,此方法不会更改第一列。虽然我想分隔括号内的文本,但我也希望将其从第一列中删除。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2013-07-02
    • 2020-01-15
    • 2012-11-26
    相关资源
    最近更新 更多