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

时间:2018-08-17 23:44:31

标签: python csv

我有这段代码可以完成多项工作;我循环浏览保存在标签为1-100的文件夹中的文件。这些文件都是特定月份的预测文件(例如2016年6月)。该功能的作用是读取所有文件并转到以前的文件进行预测。我按不同月份存储所有值。我想查看有关“一个月前”,“两个月前”等的准确预测的总数。我能够使用代码来完成此操作,但是我很难提取出有助于该总数的确切值使用数组/列表。与数组或列表无关的部分起作用,但是我想知道如何提取这些特定数字。我以后想将附加数字(列表)用于作图用途,这就是为什么要提取它,带#的#表示似乎无效的列表部分

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

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试通过将total_by_month_list初始化为

来运行代码
total_by_month_list  = [[] for _ in range(N)]

没有您的数据,它目前是推测性的。我了解到total_by_month_list应该是12个子列表的列表。