我有面板数据,我想找到不同元素的组合。换句话说,我只想把" A" s与" B" s组合起来。这是我试图运行的代码:
moving_distance = ((x, y, ((x+y)/22) for x, y in combinations(df['distance'], 2) if df.loc[df.distance == x, 'name'] != df.loc[df.distance == y, 'name'])
但是我收到了以下错误:
ValueError: Can only compare identically-labeled Series objects
我如何解决我的问题?
修改 数据看起来像这样
name distance
BMW-2012 10
BMW-2013 5
BMW-2014 12
WW_2009 2
WW_2010 4
Mer_2010 5
Mer_2011 8
我想获得不同引擎(即名称)及其覆盖距离的组合,并在函数中使用它 期望的输出是
name distance combinations combined distance
BMW-2012 10 [(BMW-2012,WW_2009), [45, 52, 65, 88]
(BMW-2012,WW_2010),
(BMW-2012,Mer_2010),
(BMW-2012,Mer_2010]
然后同样适用于BMW_2013,BMW_2014,WW_2009等等。唯一的问题是我不想将宝马与宝马和WWs与WWs相匹敌