我有一个像这样的数据框:
id value1 value2
0 1 1
1 2 3
2 1 4
3 1 5
4 2 1
我希望它像这样:
id value1 value2 count
0 1 1,4,5 3
1 2 3,1 2
答案 0 :(得分:2)
通过agg
与join
和size
进行聚合,但是必须将列转换为字符串:
tups = [('value2', lambda x: ','.join(x.astype(str))), ('count', 'size')]
df1 = df.groupby('value1')['value2'].agg(tups).reset_index()
print (df1)
value1 value2 count
0 1 1,4,5 3
1 2 3,1 2
替代:
tups = [('value2', ','.join), ('count', 'size')]
df1 = df['value2'].astype(str).groupby(df['value1']).agg(tups).reset_index()
答案 1 :(得分:1)
类似的事情也可能起作用:
onSearchChange(searchValue: string) {
setTimeout(() => {
this.router.navigate(['/search', searchValue])
}, 1000);
}