Python Jupyter笔记本-非常奇怪的bug

Python Jupyter笔记本-非常奇怪的bug,python,debugging,jupyter-notebook,Python,Debugging,Jupyter Notebook,我现在有点吃惊,我开始怀疑我的技能 我有以下计划: def readdata(mr_data): mr = pd.read_csv(mr_data, sep = ",") mrarray = mr.values mranswers = {} for j in mrarray: #print(j) # until here it is correct and the values are different

我现在有点吃惊,我开始怀疑我的技能

我有以下计划:

def readdata(mr_data):

        mr = pd.read_csv(mr_data, sep = ",")
        mrarray = mr.values
        mranswers = {}
        for j in mrarray:
            #print(j) # until here it is correct and the values are different
            if j[0] == 'Subject':
                continue
            if j[0] not in mranswers:
                mranswers[j[0]] = {}

            mranswers[j[0]][j[14]] = j[2]    

        print(mranswers) # here it is the same suddenly, for both datasets

这完全没有道理。当我用两个不同的文件调用函数时,最后的值(对于mranswers)是相同的。但是当我打印j时,它们实际上是不同的,这怎么可能发生?我可以做些什么来避免这种情况?

如果两个文件的
mrarray
是相同的,那么您的dict只保留最后一个文件的值。这段代码实际上非常混乱。您正在使用pandas读取数据,但随后会迭代该数据;您可能会发现使用pandas处理数据会容易得多(
mrarray=mr.values
正在将其放入python中),我甚至现在将其更改为两个单独的函数,每个函数都有其他变量名,同样的事情仍在发生。这根本没有道理。是的,我有点倾向于使用数组,因为我不太喜欢这个数据帧