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中),我甚至现在将其更改为两个单独的函数,每个函数都有其他变量名,同样的事情仍在发生。这根本没有道理。是的,我有点倾向于使用数组,因为我不太喜欢这个数据帧