我不是很清楚如何使用Pandas字符串提取功能,我会感谢一些帮助
我有一个这样的 Dataframe
lista=[ "{'FIRST_id': 'awe', 'THIS_id': 'awec_20230222_1626_i0ov0w', 'NOTTHIS_id': 'awep_20230222_1628_p8f5hd52u3oknc24'}","{'FIRST_id': 'awe', 'THIS_id': 'awec_20230222_1626_i0ov0w', 'NOTTHIS_id': 'awep_20230222_1641_jwjajtals49wc88p'}"]
dfpack=pd.DataFrame(lista,columns=["awesome_config"])
print(dfpack)
所以在"awesome_config"列中,我有一些包含信息的字符串
awesome_config
0 {'FIRST_id': 'awe', 'THIS_id': 'awec_20230222...
1 {'FIRST_id': 'awe', 'THIS_id': 'awec_20230222...
我只想获取列的"THIS_id"信息
因此,我想得到的是一个 Dataframe ,其中
THIS_id
awec_20230222_1626_i0ov0w
awec_20230222_1626_i0ov0w
我一直在尝试
#dd=dfpack['awesome_config'].str.extract(pat= "({'FIRST_id':'awe', 'THIS_id':).")
dd=dfpack['awesome_config'].str.extract(pat= "({'FIRST_id':'awe').")
print(dd)
但他们都给了我一个有NaN的 Dataframe
我如何在这里正确使用extract?
编辑:
我是带着这个来的
dd=dfpack['awesome_config'].str.extract(r"^({'FIRST_id': 'awe', 'THIS_id': )(?P<THIS_id>.*), 'NOTTHIS_id':(?P<restofit>).* ")
但现在我有了
0 'awec_20230222_1626_i0ov0w'
1 'awec_20230222_1626_i0ov0w'
Name: THIS_id, dtype: object
所以报价单还在,我需要没有报价单的
1条答案
按热度按时间mec1mxoz1#
可以使用
ast.literal_eval
将字符串计算为dict,然后使用str.get (str[])
获得所需的键: