Python #重复列&;可能的降维键错误0
我有以下数据集:Python #重复列&;可能的降维键错误0,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下数据集: PNO存储wk13QtyEXT wk12QtyEXT wk11QtyEXT wk10QtyEXT wk9QtyEXT wk8QtyEXT wk7QtyEXT wk6QtyEXT。。。wk3QtyOTHER wk2QtyOTHER wk1QtyOTHER wk0QtyOTHER SD目标FCST:总默认存储区最终正常分发区EXTlistSDV 0 5082003 MAEG 11 2 5 0 12 2 0 1。。。0 0 0 0 0.940 3.257143
PNO存储wk13QtyEXT wk12QtyEXT wk11QtyEXT wk10QtyEXT wk9QtyEXT wk8QtyEXT wk7QtyEXT wk6QtyEXT。。。wk3QtyOTHER wk2QtyOTHER wk1QtyOTHER wk0QtyOTHER SD目标FCST:总默认存储区最终正常分发区EXTlistSDV
0 5082003 MAEG 11 2 5 0 12 2 0 1。。。0 0 0 0 0.940 3.257143 0 0 1.554774 3.679092
15082003 ROT 0 0 0 0 0 0。。。0 0 0 0 0.960 0.000000 0 0 1.750686 0.257539
28007205腐烂29573998。。。0 0 0 0 0.960 6.335348 1 0 1.750686 2.699206
3 8007205 MAEG 4 3 4 10 5 9 5。。。0 0 0 0 0.940 6.022894 0 0 1.554774 6.162758
48007205威茨0 0 0 0。。。0 0 0 0 0.955 0.000000 0 0 1.695398 0.000000
如您所见,形状为:21行x50列
因此,我想应用以下条件:
如果“defaultstore”中的任何一行=1,则列“FinalSL”将接收到“FCST:TOTAL”包含的值的4倍
因此,我创建以下函数来进行此计算:
def SLFinal(defaultStore, fcst):
if (defaultStore==1):
return (fcst*4)
else:
return 2
该函数正在工作,但我想在我的数据集中应用,因此我创建以下循环来运行每一行并存储“defaultstore”和“FCST:TOTAL”列的数据:
最后,新列表将包含应用函数后的值:
FinalSLlist1 = []
for i in range(0, lenOfRows2 ):
Rows = []
for j in range(45, 50):
Rows.append( SLFinal(DFstore[i],FcstList[i]) )
FinalSLlist.append(Rows)
但以下错误正在返回:
---------------------------------------------------------------------------
`KeyError回溯(最近一次呼叫最后一次)
2693#获取列
2694如果self.columns.u是唯一的:
->2695返回自我。获取项目缓存(密钥)
2696
2697#重复列和可能的降维`
关键错误:0
作为一种解决方案,我尝试在DFstore[I]、FcstList[I]列中添加.iloc[I]或.loc[I],但效果不佳。求你了,我需要帮助!
`要获得调试帮助,请提供一个包含输入和完整错误回溯的列表,其中显示错误发生的确切位置。---------------------------------------------------------------------------------------KeyError traceback(最近一次调用last)C:\ProgramData\Anaconda3\lib\site packages\pandas\core\indexes\base.py in get_loc(self,key,method,tolerance)3077 try:->3078返回self.\u engine.get_loc(key)3079除了keyrerror:pandas_libs\index.pyx in pandas.\u libs.index.IndexEngine.get_loc()pandas中的pandas\libs\index.pyx.\libs.index.IndexEngine.get\u loc()pandas\u libs\hashtable\u class\u helper.pxi.\u libs.hashtable.PyObjectHashTable.get\item()pandas中的pandas\libs\hashtable\u class\u helper.pxi.\u libs.PyObjectHashTable.get\u item()键错误:0在处理上述异常期间,发生另一个异常:KeyError Traceback(最近一次调用last)in()3行=[]4,用于范围(45,50)中的j:--->5行。追加(SLFinal(DFstore[i],FcstList[i])6 finalslist.append(行)7
DFstoreList`DFstore = copiedData.iloc[:,46:47]
DFstore
DFstoreList = []
lenOfRows2 = len(copiedData)
for i in range(0, lenOfRows2):
DFstoreList.append(DFstore.loc[i])
FinalSLlist1 = []
for i in range(0, lenOfRows2 ):
Rows = []
for j in range(45, 50):
Rows.append( SLFinal(DFstore[i],FcstList[i]) )
FinalSLlist.append(Rows)