python 如何将一列数据中冒号后面的三个字符提出来并赋值到新的一列

python 如何将一列数据中冒号后面的三个字符提出来并赋值到新的一列
例子如下

新增:大大大 CPU:e52620v3
新增:嘻嘻嘻 CPU:e52620v3
新增:不不不 CPU:e52620v3 
新增:哈哈哈哈 CPU:e52620v3

这个列的列名为采购,
如何将这列数据中冒号后面的3位数提取出来?

df=pd.read_excel('2019.7.xlsx')
cc=df['摘要'].str.split(expand=True)
dd=cc.iloc[:,0].str.split(':',expand=True)
dd.iloc[:,1]

import re
data=['新增:大大大 CPU:e52620v3','新增:嘻嘻嘻 CPU:e52620v3','新增:不不不 CPU:e52620v3', '新增:哈哈哈哈 CPU:e52620v3']
for line in data:
    res = re.findall('[::]+(.{3})', line)
    for i in res:
        print(i, end=' ')
    print()

打印出来的结果是:
大大大 e52
嘻嘻嘻 e52
不不不 e52
哈哈哈 e52

主要就是遍历每一行数据,用正则的方式去匹配,匹配出来的数据根据自己的需求进行处理。

用index获取冒号的索引值

list1 = ['大大大 CPU:e52620v3','啊啊啊 CPU:e52620v3','不不不 CPU:e52620v3']
list2 = []

for i in range(len(list1)):
    list2.append([])
    list2[i].append(list1[i])
    list2[i].append((list1[i][list1[i].index(':')+1:list1[i].index(':')+4]))

print(list2)    

结果

[['大大大 CPU:e52620v3', 'e52'], ['啊啊啊 CPU:e52620v3', 'e52'], ['不不不 CPU:e52620v3', 'e52']]

每一行分为两列,第二列存储冒号后三位

如果只需要第二列,注释掉 list2[i].append(list1[i]) 即可

['导演: 弗兰克·德拉邦特', '导演: 比利·怀德', '导演: 吕克·贝松', '导演: 陈凯歌', '导演: 罗伯托·贝尼尼']这种我要怎么用正则提取冒号后面的数据,只要导演名字