Python字符串转换,取出空格,添加连字符

Joe*_*e S 3 python string formatting uuid pandas

我在pandas数据框中有一个格式为的列

f1 d3 a4 0a d0 6a 4b 4a 83 d4 4f c9 1f 15 11 17

我想将它转换为:

f1d3a40a-d06a-4b4a-83d4-4fc91f151117

我知道我可以replace(" ", "")用来取出空白,但我不知道如何在我需要的确切位置插入连字符.

我也不知道如何将它应用于pandas系列对象.

任何帮助,将不胜感激!

Cor*_*mer 13

这看起来像UUID,所以我只是使用该模块

>>> import uuid
>>> s = 'f1 d3 a4 0a d0 6a 4b 4a 83 d4 4f c9 1f 15 11 17'
>>> uuid.UUID(''.join(s.split()))
UUID('f1d3a40a-d06a-4b4a-83d4-4fc91f151117')
>>> str(uuid.UUID(''.join(s.split())))
'f1d3a40a-d06a-4b4a-83d4-4fc91f151117'
Run Code Online (Sandbox Code Playgroud)

编辑:

df = pd.DataFrame({'col':['f1 d3 a4 0a d0 6a 4b 4a 83 d4 4f c9 1f 15 11 17',
                          'f1 d3 a4 0a d0 6a 4b 4a 83 d4 4f c9 1f 15 11 17']})

df['col'] = df['col'].str.split().str.join('').apply(uuid.UUID)
print (df)
                                    col
0  f1d3a40a-d06a-4b4a-83d4-4fc91f151117
1  f1d3a40a-d06a-4b4a-83d4-4fc91f151117
Run Code Online (Sandbox Code Playgroud)