小编jav*_*ina的帖子

Pandas:在列中聚合列表值

我有以下数据帧:

data = {'VehID' : pd.Series([10000,10000,10000,10001,10001,10001,10001]),
        'JobNo' : pd.Series([1,2,2,1,2,3,3]),
        'Material' : pd.Series([5005,5100,5005,5888,5222,5888,5222])}
df   = pd.DataFrame(data, columns=['VehID','JobNo','Material'])
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

   VehID    JobNo  Material
0  10000      1      5005
1  10000      2      5100
2  10000      2      5005
3  10001      1      5888
4  10001      2      5222
5  10001      3      5888
6  10001      3      5222
Run Code Online (Sandbox Code Playgroud)

我想确定每辆车连续工作中出现的材料.例如,

VehID  Material  Jobs
10000    5005    [1,2]
10001    5222    [2,3]
Run Code Online (Sandbox Code Playgroud)

我想避免使用for循环.有没有人对这个解决方案有什么建议?提前致谢..

python list pandas

5
推荐指数
1
解决办法
77
查看次数

标签 统计

list ×1

pandas ×1

python ×1