簡體   English   中英

Python:每年的平均普里

[英]Python: Average Prie per Year

有人能幫我解決以下問題嗎? 我正在嘗試創建一個程序,該程序可以打開“notepad.txt”文件並計算 10 月份的平均價格。

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()

這將打印並返回平均值

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
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)

如果你想使用熊貓:

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

以下香草 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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM