如何在 pandas 中生成唯一的 uuid 而无需循环

Cod*_*tor 3 python pandas

目前我正在使用这样的循环在每一行中生成唯一的 uuid -

df['uuid'] = df.apply(lambda x: uuid.uuid4(), axis=1)
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有循环的情况下做到这一点?

Ter*_*rry 5

仍然是一个循环,但比当前方式快一点

\n
df['uuid'] = [uuid.uuid4() for x in range(df.shape[0])]\n
Run Code Online (Sandbox Code Playgroud)\n
\n

24.4 \xc2\xb5s \xc2\xb1 2.31 \xc2\xb5s 每个循环(平均 \xc2\xb1 标准偏差 7 次运行,每次 10000 次循环)

\n
\n

使用应用

\n
df['uuid'] = df.apply(lambda x: uuid.uuid4(), axis=1)\n
Run Code Online (Sandbox Code Playgroud)\n
\n

每个循环 1.25 ms \xc2\xb1 39.1 \xc2\xb5s(意味着 7 次运行的 \xc2\xb1 标准偏差,每次 1000 个循环)

\n
\n