如何从字典中提取值到新列中?

斯拉维沙84

我有一个包含一列格式的数据框 {"orderNum":123456} 这是示例:

ActionTime           Details            OrderNumber
0   1/2/2021 17:21  {"orderNum":123456} 
1   1/2/2021 20:16  {"orderNum":467899} 
2   1/3/2021 8:38   {"orderNum":753951} 

这是我尝试过的:

    df['OrderNumber'] = df[['Details','"orderNum"']].apply(lambda col: 
    col.explode()).reset_index(drop=True)
    df.head()

我需要做的就是从 Details 中提取订单号并将其放入 OrderNumber 列中。我该怎么做呢?

扬·维拉莫夫斯基

如果该Details列是字典的字符串表示形式,则可以使用正则表达式来提取数字:

df = pd.DataFrame({"Action": [0, 1, 2], "Details": ['{"orderNum":123456}', '{"orderNum":467899}', '{"orderNum":753951}']})

df['OrderNumber'] = df['Details'].str.extract(r'(\d+)').astype(int)

   Action              Details  OrderNumber
0       0  {"orderNum":123456}       123456
1       1  {"orderNum":467899}       467899
2       2  {"orderNum":753951}       753951

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章