Python, Pandas 东风。从字符串中取出数字并将其添加到新列

Python, Pandas DF. Take number from a string and add it to a new column

我得到了一个 pandas 数据框,其中一列的值如下所示:

>>> df['video_p25_watched_actions']
[{'action_type': 'video_view', 'value': '137520'}]

我想提取值编号,并将其添加到新列中,因此预期结果为:

Index |           video_p25_watched_actions                | p25
-----------------------------------------------------------------
0     | [{'action_type': 'video_view', 'value': '137520'}] | 137520

我用一些原始数据创建了一个 google sheet 来展示它想要的样子:

https://docs.google.com/spreadsheets/d/1aJDiXFyUIb9gZCA1-pPDxciPQWv0vcCairY-pkdGg_A/edit?usp=sharing

提前致谢!

由于列中的所有行都具有相同的结构,您可以使用此

df['new_column'] = df['video_p25_watched_actions'].apply(lambda x: ''.join(e for e in x.split(":")[2] if e.isalnum()))

尝试:

df['value']= df['video_p25_watched_actions'].replace(regex=True,to_replace='[^0-9]',value=' ')

仅获取 df['video_p25_watched_actions'] 的值,其他字母将被替换为 space