gpt4 book ai didi

python - 根据 'key=value' 项将 pandas 列拆分为多个列

转载 作者:行者123 更新时间:2023-12-02 19:04:21 28 4
gpt4 key购买 nike

我有一个数据框,其中一列包含“键=值”格式的多个信息。该列中可以出现近一百个不同的“key=value”,但为了简单起见,我将仅使用 4 个 (_browser, _status, _city, tag)

id  name   properties
0 A {_browser=Chrome, _status=TRUE, _city=Paris}
1 B {_browser=null, _status=TRUE, _city=London, tag=XYZ}
2 C {_status=FALSE, tag=ABC}

如何将属性字符串列转换为多列?

预期输出是:

id  name   _browser    _status    _city    tag
0 A Chrome TRUE Paris
1 B null TRUE London XYZ
2 C FALSE ABC

注意:该值还可以包含空格(例如_city=Rio de Janeiro)

最佳答案

让我们将 str.findall 与正则表达式捕获组结合使用,从 properties 列中提取键值对:

df.join(pd.DataFrame(
[dict(l) for l in df.pop('properties').str.findall(r'(\w+)=([^,\}]+)')]))

结果:

 id name _browser _status   _city  tag
0 A Chrome TRUE Paris NaN
1 B null TRUE London XYZ
2 C NaN FALSE NaN ABC

关于python - 根据 'key=value' 项将 pandas 列拆分为多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65255061/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com