2017-11-01 11 views
-1

誰でも私の下で私を助けることができるだろうか?私は "notepad.txt"ファイルを開き、10月の平均価格を計算できるプログラムを作成しようとしています。Python:年間平均Prie

notepad.txt 
10-15-2012:3.886 
10-22-2012:3.756 
10-29-2012:3.638 


infile = open('notepad.txt', 'r') 

def clean_data(): 

    line1 = infile.readline() 
    split1 = line1.rstrip('\n') 
    items = split1[0].split('-') 
    del items[0] 
    del items[0] 
    master = [] 
    master = master + split1 + items 
    master = list(map(float, master)) 
    print(master) 
    print(total) 
    line1 = infile.readline() 
clean_data() 

答えて

0

このプリントと返す平均

def clean_data(infile): 
    lines = infile.readlines() 
    total = 0.0 
    num = 0 
    for line in lines: 
     spl = line.strip().split(":") 
     total += float(spl[len(spl)-1]) 
     num += 1 
    average = total/num 
    print(average) 
    return average 
0
def sum_data(): 
    n,c = 0,0 
    with open('notepad.txt', 'r') as infile: 
     x = infile.readline() 
     # for october 10 
     if x[:3]=='10-' and x[6:10]=='2010'; 
      n += float(x[12:]) 
      c += 1 
    print(n/c) 
0

あなたはパンダを使用する場合:

from io import StringIO 
import pandas as pd 

notepadtxt = StringIO("""10-15-2012:3.886 
10-22-2012:3.756 
10-29-2012:3.638""") 

df = pd.read_csv(notepadtxt, sep='\:',header=None, engine='python') 

df[0] = pd.to_datetime(df[0]) 

df=df.set_index(0) 

df.resample('M').mean().values[0][0] 

出力:

3.7600000000000002 
0

次のバニラのPythonコードで十分です:

infile = open('notepad.txt', 'r') 

def clean_data(): 
    data = [] 
    for line in infile: 
      data.append(line.strip().split(':')) 
    values = [] 
    for value in data: 
     values.append(float(value[1])) 
    avg_price = sum(values)/len(values) 
    print(avg_price) 

clean_data() 
infile.close()