我的資料框中有兩列要分組并分配 ID。
df = pd.DataFrame({'A' : [1, 2, 3, 4,
3, 4],
'B' : [1, 2, 3, 4,
5, 4]})
A B
1 1
2 2
3 3
4 4
3 5
4 4
grouped = df.groupby(['A','B'])
回傳
A B
1 1
2 2
3 3
5
4 4
我正在嘗試為每個分組分配一個唯一的 ID。
def idx(x):
return str(uuid.uuid4())
grouped.agg(lambda x: idx(x))
它回傳一個熊貓系列
A B
1 1 ab6ac10e-7dbc-43a4-9f93-cc0c83ec2d03
2 2 c26548ec-9002-4ad5-bad9-c84f8c594c9b
3 3 8daab68b-51aa-42b3-8546-3b64ee73f460
5 cb8f7da1-81de-4bed-8ae9-790c64ac66e2
4 4 b742a9e0-ba08-42f2-b9e8-13cf6c3b0dbe
dtype: object
我想要做的是將這一系列獨特的 id 寫回原始資料幀。我期待這樣的事情:
A B idx
1 1 ab6ac10e-7dbc-43a4-9f93-cc0c83ec2d03
2 2 c26548ec-9002-4ad5-bad9-c84f8c594c9b
3 3 8daab68b-51aa-42b3-8546-3b64ee73f460
4 4 b742a9e0-ba08-42f2-b9e8-13cf6c3b0dbe
3 5 cb8f7da1-81de-4bed-8ae9-790c64ac66e2
4 4 b742a9e0-ba08-42f2-b9e8-13cf6c3b0dbe
uj5u.com熱心網友回復:
檢查你的輸出 reindex
df['new'] = grouped.agg(lambda x: idx(x)).reindex(pd.MultiIndex.from_frame(df)).values
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/408949.html
標籤:
上一篇:使用標準拆分Pandas資料框
