說我有一個熊貓數據幀像這樣:添加UUID對大熊貓DF
df = pd.DataFrame({'Name': ['John Doe', 'Jane Smith', 'John Doe', 'Jane Smith','Jack Dawson','John Doe']})
df:
Name
0 John Doe
1 Jane Smith
2 John Doe
3 Jane Smith
4 Jack Dawson
5 John Doe
而且我想與有相同名稱是否相同的UUID添加一列。例如,上述數據幀應該成爲:
df:
Name UUID
0 John Doe 6d07cb5f-7faa-4893-9bad-d85d3c192f52
1 Jane Smith a709bd1a-5f98-4d29-81a8-09de6e675b56
2 John Doe 6d07cb5f-7faa-4893-9bad-d85d3c192f52
3 Jane Smith a709bd1a-5f98-4d29-81a8-09de6e675b56
4 Jack Dawson 6a495c95-dd68-4a7c-8109-43c2e32d5d42
5 John Doe 6d07cb5f-7faa-4893-9bad-d85d3c192f52
的UUID的應從uuid.uuid4()函數來生成。
我目前的想法是使用groupby(「Name」)。cumcount()來標識哪些行具有相同的名稱和哪些行是不同的。然後,我將創建一個字典,其中包含cumcount的一個關鍵字和一個uuid的值,並用它來添加uuids到DF。
雖然這將工作,我想知道是否有一個更有效的方法來做到這一點?
精美的作品。 – unpairestgood