迭代问题,内减法不能正常工作

如何解决迭代问题,内减法不能正常工作

df2={'atanAN_ORGANIZASYON':['000053','00012','00014'],'stock':[10,23,99]
      }
df2= pd.DataFrame(data=df2)

'''
talep={'FHY Sicil':['FB00662','FB003208'],'Şube Kodu':['00014','adet':[50,50]
      }
talep= pd.DataFrame(data=talep)
'''
import warnings
warnings.filterwarnings('ignore')
lst=[]
for i in range(len(talep)):
    for j in range(len(df2)):
        if talep.iloc[i]['Şube Kodu']==df2.iloc[j]['atanAN_ORGANIZASYON']:
            if  df2.iloc[j]['stock']>=talep.iloc[i]['adet']:
                lst.append([talep.iloc[i]['FHY Sicil'],talep.iloc[i]['Şube Kodu'],talep.iloc[i]['adet']])
                df2.iloc[j]['stock']=df2.iloc[j]['stock']-talep.iloc[i]['adet']
                break
            elif df2.iloc[j]['stock']<talep.iloc[i]['adet'] and  df2.iloc[j]['stock']>0:  
                lst.append([talep.iloc[i]['FHY Sicil'],df2.iloc[j]['stock']])
                #print(df2.iloc[j]['stock'])
                df2=df2[~(df2['atanAN_ORGANIZASYON']==df2.iloc[j]['atanAN_ORGANIZASYON'])]
                break
                #df2.iloc[j]['stock']=0
                #df2.iloc[j]['stock']=df2.iloc[j]['stock']-talep.iloc[i]['adet']
                #print(df2['stock'])
final = pd.DataFrame(lst,columns=['FHY Sicil','Şube Kodu','adet'])

final.sort_values(by=['Şube Kodu']).head(3)

  1. 00014 的库存为 99,但 FB006620 和 FB003208 总共交付了 100 个。每个人得到 50。
  2. df2.iloc[j]['stock']=df2.iloc[j]['stock']-talep.iloc[i]['adet'] >> 我需要在第一次迭代后显示剩余金额。即,由于将 50 分配给 FB006620,因此应将剩余的 49 分配给 FB003208。

解决方法


df2={'ATANAN_ORGANIZASYON':['000053','00012','00014'],'stock':[10,23,99]
      }
df2= pd.DataFrame(data=df2)

talep={'FHY Sicil':['FB00662','FB003208'],'Sube Kodu':['00014','adet':[50,50]
}
talep= pd.DataFrame(data=talep)

lst=[]

for i,tt in talep['Sube Kodu'].items():
    for j,dd in df2['ATANAN_ORGANIZASYON'].items():
        if dd == tt:
            if df2['stock'][j]>=talep['adet'][i]:
                lst.append([talep['FHY Sicil'][i],tt,talep['adet'][i]])
                df2['stock'][j]-=talep['adet'][i]
            elif df2['stock'][j]<talep['adet'][i] and  df2['stock'][j]>0:  
                lst.append([talep['FHY Sicil'][i],df2['stock'][j]])
                df2=df2[~(df2['ATANAN_ORGANIZASYON']==df2.iloc['ATANAN_ORGANIZASYON'][j])]
        break
final = pd.DataFrame(lst,columns=['FHY Sicil','Sube Kodu','adet'])

final.sort_values(by=['Sube Kodu']).head(3)

print(final)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?