我希望为pandas DataFrame中的每一行添加一个uuid,并将其放在新的单独列中。当前的代码会使得这一列中每个值都相同。
import uuid
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(4,3), columns=list('abc'),
index=['apple', 'banana', 'cherry', 'date'])
df['uuid'] = uuid.uuid4()
print(df)
a b c uuid
apple 0.687601 -1.332904 -0.166018 34115445-c4b8-4e64-bc96-e120abda1653
banana -2.252191 -0.844470 0.384140 34115445-c4b8-4e64-bc96-e120abda1653
cherry -0.470388 0.642342 0.692454 34115445-c4b8-4e64-bc96-e120abda1653
date -0.943255 1.450051 -0.296499 34115445-c4b8-4e64-bc96-e120abda1653
我需要的是在“uuid”列的每一行中使用一个新的uuid。我还尝试过使用.apply()和.map(),但没有成功。
range
比遍历NumPy数组更有效率。 - jppdf.to_sql()
函数的人,请注意:Postgresql 数据库中您的uuid
列的数据类型将是text
,而不是uuid
! - Mehrdad Salimi