【问题标题】:Extract multiple text string to form new row提取多个文本字符串以形成新行
【发布时间】:2023-02-16 00:02:37
【问题描述】:

我正在尝试将一行 csv 中的数组转换为多行。目前数据是这样的

test = result['properties.techniques'].dropna()
print(test)

['T1078','T1036']
['T1036']

我可以添加以下行来提取单个项目 -

test = result['properties.techniques'].dropna()
techniques = result['properties.techniques'].str.extract(r"(T[0-9]{4})").dropna()[0]
print(techniques )

T1078
T1036

然而,这只会每行提取一个字符串。

如何确保所有数据都转换为新行?

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:

    使用 .explode():

    techniques = result.explode("properties.techniques").reset_index(drop=True)
    print(techniques)
    

    输出:

      properties.techniques
    0                 T1078
    1                 T1036
    2                 T1036
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-21
      • 2023-04-03
      • 2017-02-16
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 2023-01-15
      相关资源
      最近更新 更多