HUH函數(shù)
2023-06-27 13:09:30
原始 df:df=pd.DataFrame({'name':['id1','id1','id2','id2','id2'], 'attr1':['a','b','c','d','e']}) Out[45]: name attr10 id1 a1 id1 b2 id2 c3 id2 d4 id2 e我想要的是:系統(tǒng)需要更多詳細(xì)信息,但我無話可說,所以請不要在這里查看這些文字,這會浪費您的時間。
2 回答

明月笑刀無情
TA貢獻(xiàn)1828條經(jīng)驗 獲得超4個贊
讓我們嘗試cumcount使用附加鍵進(jìn)行分配
s = df.assign(key=df.groupby('name').cumcount()+1).pivot('name','key','attr1')
s
Out[125]:
key 1 2 3
name
id1 a b NaN
id2 c d e

慕神8447489
TA貢獻(xiàn)1780條經(jīng)驗 獲得超1個贊
做就是了
按列分組
添加 lambda 聚合函數(shù)
拆分為列。
df.groupby('name')
.agg(lambda x: '|'.join(x))
.attr1.str.split('|',expand=True)
將以上三者結(jié)合起來
>> df.groupby('name').agg(lambda x: '|'.join(x)).attr1.str.split('|',expand=True)
0 1 2
name
id1 a b None
id2 c d e
添加回答
舉報
0/150
提交
取消