我有两个数据帧:Springdf
和StaffTraindf2
。
我正在遍历Springdf
的行以拉出字段Allocation
,StaffingStandardsValue
(都是整数)和ArrivalMUkey
(是字符串)。 / p>
然后我使用ArrivalMUkey
查找StaffTraindf2
,并检索两个变量CurrentAllocation
和StaffingStandardsValue2
(都是整数)。
在Springdf.Allocation < StaffingStandards and in StaffTraindf2 while CurrentAllocation < StaffingStandardsValue2
上,向Allocation
和CurrentAllocation
都添加+1。继续这样做,直到其中之一不再成立,然后移至Springdf
的下一行。
Allocation
和CurrentAllocation
始终从0开始。StaffingStandardsValue(2)
的范围是1-100
我成功地编写了代码来完成Springdf
中的任务,但是现在似乎无法正确地编写Traindf2
中的值。我认为使用字符串CurrentAllocation
作为索引时无法覆盖整数值StaffingStandardsValue2
吗? (请问这听起来很荒谬)
以下代码将运行,但不会更改StaffTrain2
中的值。它将它们全部保持为0。
for row in springdf.index:
Aloc = springdf.at[row, 'Allocation']
Train = springdf.at[row, 'StaffingStandardsValue']
ArrivalMUkey = springdf.at[row,'ArrivalMUkey']
TrainMax = StaffTraindf2.loc[StaffTraindf2['ArrivalMUkey'] ==ArrivalMUkey, 'StaffingStandardsValue'].sum()
TrainUtilized = StaffTraindf2.loc[StaffTraindf2['ArrivalMUkey'] ==ArrivalMUkey, 'CurrentAllocation'].sum()
while Aloc < Train & TrainUtilized < TrainMax:
springdf.at[row, 'Allocation'] = Aloc + 1
Aloc = springdf.at[row, 'Allocation']
StaffTraindf2.loc[StaffTraindf2['ArrivalMUkey']==ArrivalMUkey, 'CurrentAllocation'].sum() + 1 = TrainUtilized
TrainUtilized = StaffTraindf2.loc[StaffTraindf2['ArrivalMUkey'] ==ArrivalMUkey, 'CurrentAllocation'].sum()
else:
next