У вас есть 2 разные проблемы:
- во-первых, чтобы извлечь цифры из ячеек столбца
- , во-вторых, чтобы создать список, если у вас более одного ди git
Просто объедините обе операции в цепочку:
df[col].str.findall(r'\d').apply(lambda x: x[0] if len(x) == 1 else '' if len(x) == 0 else x)
На вашем примере это дает:
0 4
1 4
2 4
3 [3, 4]
4 4
5 4