2017-05-03 9 views
0

平均、平均、最大、および最低の温度と湿度をテキストファイルとして取得しようとしています。このテキストファイルは、毎日のデータをキャプチャしています&湿度。 私は次のようにしているデータのフォーマットに問題に直面しています:ここPythonのテキストファイルから平均、平均、最大、および最低の温度と湿度を計算します

2017-05-02 17:31:13 24.00,49.00 
2017-05-02 17:32:13 24.00,49.00 
2017-05-02 17:33:13 24.00,49.00 
2017-05-02 17:34:14 24.00,49.00 
2017-05-02 17:35:14 24.00,49.00 
2017-05-02 17:36:14 24.00,49.00 
2017-05-02 17:37:14 24.00,49.00 
2017-05-02 17:38:14 24.00,49.00 

、私は多くのsplitersがあるので、適切に列を分割することはできませんよ。 私は平均とすべてを計算することができますが、最初にプログラムは温度&湿度の列を読み取る必要があります。

データ説明: 1列目:日 2列目:時間 3列目:一時 4列目:誰かが私が計算できるように、適切に温度と湿度の両方を読み取るために私を助けてくださいすることができ

湿度平均とすべて。例えば

+0

は、あなたがこれまでにしようとしているものを私たちに示して? – Hackaholic

+0

1つの簡単なアイデアは、 "、"を使用して、前の5文字と後の5文字の2つの値を見つけることです。少なくともそれが私がやることです。 –

+0

カンマを空白に置き換え、空白で区切ります。たくさんのレシピがあります:http://stackoverflow.com/questions/3277503/how-do-i-read-a-file-line-by-line-into-a-list – Moritz

答えて

1

import numpy as np 
import pandas as pd 

data = [] 
with open('data.txt', 'r') as f: 
    for line in f: 
     temp = line.replace(',',' ').strip('\n').split(' ') 
     data.append(temp) 

df = pd.DataFrame.from_records(data) 
df.columns = ['date', 'time', 'temperature', 'humidity'] 
# if the data is not recogniced as float 
df = df.apply(pd.to_numeric, errors='ignore') 
# you could use mean max median etc 
df.humidity.mean() 
関連する問題