我有一个类似这样的 DataFrame:
| cat0 | cat1 | cat2 | col_list | Quantity |
| ----- | ---- | ---- | ----------| -------- |
| alpha | x | a | [a,b,c,d] | 4 |
| alpha | y | a | [e] | 1 |
| beta | z | a | [f,g] | 2 |
| gamma | p | b | [h] | 1 |
| gamma | q | b | [I,j,k,l] | 4 |
| phi | r | c | [r,s] | 2 |
| eita | s | c | [m,n] | 2 |
我希望根据cat2列来进行转换。如果它们有相同的值,则将这些行合并为1行,并将行合并如下:
| cat0 | cat1 | cat2 | col_list | Quantity |
| ---------- | ----- | ---- | ----------------| -------- |
| alpha,beta | x,y,z | a | [a,b,c,d,e,f,g] | 7 |
| gamma | p,q | b | [h,I,j,k,l] | 5 |
| phi,eita | r,s | c | [r,s,m,n] | 4 |
如果列具有字符串值(列:cat0,cat1),请使用逗号将它们连接并分隔。如果它具有列表值(列“col_list”),则将这些元素添加到单个列表中。如果它是一个整数值(列:Quantity),那么只需将它们相加即可。
','.join
替代list
。 - mozway