我有一个停车场,停着不同型号(nr)的汽车,而且这些汽车都挤得满满当当,为了让一个人下车,可能需要移动其他一些汽车。有点像 15Puzzle,只有我可以从停车场开出一辆或多辆汽车。Ordered_car_List 包括今天将被取走的汽车,它们需要被带出停车场,并尽可能少地移动未订购的汽车。这个熊猫有更多的专栏,但这是我想不通的。我有一个适用于小数据集的程序,但似乎这不是 PANDAS 的方式:-)
我有这个:
cars = pd.DataFrame({'x': [1,1,1,1,1,2,2,2,2],
'y': [1,2,3,4,5,1,2,3,4],
'order_number':[6,6,7,6,7,9,9,10,12]})
cars['order_number_no_dublicates_down'] = None
Ordered_car_List = [6,9,9,10,28]
i=0
while i < len(cars):
temp_val = cars.at[i, 'order_number']
if temp_val in Ordered_car_List:
cars.at[i, 'order_number_no_dublicates_down'] = temp_val
Ordered_car_List.remove(temp_val)
i+=1
如果我使用cars.apply(lambda...,如何在每次迭代中更改Ordered_car_List?我可以采取另一种方法吗?
我找到了这个页面,它让我想要更快。Lambda 方法在速度方面处于中等水平,但它仍然比我现在做的要快得多。 https://towardsdatascience.com/how-to-make-your-pandas-loop-71-803-times-faster-805030df4f06