Python 使用列表/数组在复杂函数/循环中提取数据

Python 使用列表/数组在复杂函数/循环中提取数据,python,csv,Python,Csv,我有这段代码,它可以做很多事情;我循环浏览保存在标记为1-100的文件夹中的文件。这些文件都是特定月份的预测文件(例如2016年6月)。此函数的作用是读取所有文件并转到以前的文件进行预测。我按不同月份存储所有值。我想看看“一个月前”、“两个月前”等预测的准确程度。我可以用代码做到这一点,但是我很难使用数组/列表提取出准确的值,这些值对这个总数有贡献。与数组或列表无关的部分可以工作,但我想知道如何提取这些特定的数字。我想稍后使用附加数字(列表)进行绘图,这就是我提取它的原因,#with?表示似乎不

我有这段代码,它可以做很多事情;我循环浏览保存在标记为1-100的文件夹中的文件。这些文件都是特定月份的预测文件(例如2016年6月)。此函数的作用是读取所有文件并转到以前的文件进行预测。我按不同月份存储所有值。我想看看“一个月前”、“两个月前”等预测的准确程度。我可以用代码做到这一点,但是我很难使用数组/列表提取出准确的值,这些值对这个总数有贡献。与数组或列表无关的部分可以工作,但我想知道如何提取这些特定的数字。我想稍后使用附加数字(列表)进行绘图,这就是我提取它的原因,#with?表示似乎不起作用的列表部分

import pandas as pd
import csv

def nmonthaccuracy(basefilenumber, n):
    basefileread = pd.read_csv(str(basefilenumber)+'.csv', encoding='Latin-1')
    basefilevalue = basefileread.loc[basefileread['Customer'].str.contains('Customer A', na=False), 'Jun-16\nQty']

    nmonthread = pd.read_csv(str(basefilenumber-n)+'.csv', encoding = 'Latin-1')
    nmonthvalue = nmonthread.loc[nmonthread['Customer'].str.contains('Customer A', na=False), 'Jun-16\nQty']

    return int(nmonthvalue)/int(basefilevalue)    

N = 12
total_by_month = [0] * N
total_by_month_list [] * N #????

for basefilenumber in range(24,36):
    for n in range(N):
        total_by_month[n] += nmonthaccuracy(basefilenumber, n)
        total_by_month_list[n].append(nmonthaccuracy(basefilenumber,n)) #????



onetotal = total_by_month[1]
twototal = total_by_month[2]      
#etc

尝试通过初始化
total\u by\u month\u列表来运行代码

total_by_month_list  = [[] for _ in range(N)]

如果没有您的数据,它目前是推测性的。我的理解是,
total\u by\u month\u list
应该是一个包含12个子列表的列表。

工作得很好!谢谢您好,此代码适用于某些范围,但不适用于其他范围。出于某种原因,我收到的一个错误示例是:KeyError:“标签[Jan-16\nQty]不在[columns]中。”我不确定为什么有时有效,有时无效,并且我附加了一个虚拟csv文件的图像。谢谢