如何解决“ TypeError:'系列'对象是可变的”?在Python中与数据框和字典有关

时间:2019-06-17 13:27:05

标签: python excel python-3.x pandas

我有一个for循环,循环遍历带有数据帧(excel文件的工作表)的数组,我有我的字典值,其中键是工作表中的列名,而值是类。原因是我决定使用模板模式,因此决定使用processData()等。都是我有的方法。

需要注意的一些重要信息:mOAD是字典,而mywdf是数据框,基本上,我试图遍历excel工作表,但我不知道事先有多少列,字典中的哪些项目,或者那里有多少工作表是先于手或将在工作表中的列。

我试图放入不同的条件以及更改数组索引和查找不同的解决方案,但是在这种情况下似乎没有任何适用或起作用。例如:在询问类似问题时出现“系列对象易变且不能被散列”的错误不能提供很好的答案,而且我无法弄清楚该怎么做。我将显示词典的一部分和一个具体的示例类供参考,然后显示我的循环。

mOAD = \
    {

    #here is sheet 1
    "AGE NOW"     : aNow(),
    "AGE AT DEATH": aAD(),
    "BIRTH DATE"  : bDay(),
    "DEATH DATE"  : deDay(),
    "MATCH TYPE"  : mType(),
    "GENDER"      : gender(),
    "MARITAL"     : mar(),
    }
#example of concrete class
class bDay(iterator):
    def processData(self):
       print("as")

   def evaluateData(self):
       print(" we")

   def explainData(self):
       print(" go")
#now the loop
 z = 1
while z < numSheet:


for i, j in mywdf[z].iterrows():
   # print(i)
   print(j)
   if i > 0:
    mOAD[j].processData()
    mOAD[j].evaluateData()
    mOAD[j].explainData()

z += 1

我希望它可以理想地标识列,然后为相应的列名称调用具体类中的函数。抱歉,这很令人困惑,但我会尽力澄清。这是我第二次发布此问题,因为我真的找不到任何有效的方法。预先感谢!

0 个答案:

没有答案