繁体   English   中英

提取熊猫数据框中特定列表字符串后的数字

[英]extract number after specific of list string in pandas dataframe

我有这个示例数据集

No Text
1  {"duration_incoming_daytime": 6034, 
    "percent_incoming_daytime": 42.73, 
    "percent_other_calls": 42.73, 
    "total_calls": 110}

我想要的只是在特定字符串“duration_incoming_daytime”、“total_calls”之后提取数字
请不要使用 str.split(),因为我的数据不像示例那样排序
所以,它会是这样的

No Text                                  duration_incoming_daytime   total_calls
1  {"duration_incoming_daytime": 6034,   6034                        110
    "percent_incoming_daytime": 42.73, 
    "percent_other_calls": 42.73, 
    "total_calls": 110}

这是示例数据框

import pandas as pd   
No = [1]   
Text = [{"duration_incoming_daytime": 6034, "percent_incoming_daytime": 42.73, "percent_other_calls": 42.73, "total_calls": 110}]   

df = pd.DataFrame({"No":No, "Text":Text})

您可以在此处使用 JSON 函数,但鉴于 JSON 不是嵌套的, str.extract也可以工作:

df["duration_incoming_daytime"] = df["No Text"].str.extract(r'"duration_incoming_daytime"\s*:\s*(\d+)', regex=True)
df["total_calls"] = df["No Text"].str.extract(r'"total_calls"\s*:\s*(\d+)', regex=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM