2017-06-26 15 views
0
Date  time kWh 
1/1/2016 00:00 34.56 
1/1/2016 00:15 34.56 
1/1/2016 00:30 34.56 
1/1/2016 00:45 34.56 
1/1/2016 01:00 34.56 
1/1/2016 01:15 34.56 
1/1/2016 01:30 34.128 
1/1/2016 01:45 34.992 
1/1/2016 02:00 34.128 
1/1/2016 02:15 34.56 
1/1/2016 02:30 34.128 
1/1/2016 02:45 34.992 

CSVファイルでは、2016年を通して15分ごとに電力消費があります。私は2016年の月曜日、火曜日などの曜日別の総消費量を計算したいと思っています。CSVで日付とタイムスタンプを繰り返し、日付に基づいてデータを分離する方法

データのリスト()を作成し、金曜日に最初の日を仮定しようとしましたが、データの位置には、しかし、データが一貫していないことが判明し、いくつかの欠損番号があります。

欠落データ

答えて

0

日付を解析してdatetime個のオブジェクトを作成すると、曜日が何であるかを知ることができます。あなたはそれを解析するためにstrptime()を使用することはできませんが、正規表現を使用できるようにあなたの日付形式は、非標準である:

import re 
import datetime 

date = '1/1/2016 00:00' 
m = re.search('^(\d{1,2})/(\d{1,2})/(\d{4})', date) 
d = datetime.datetime(day=int(m.group(1)), month=int(m.group(2)), year=int(m.group(3))) 
print d.weekday() # prints 4 = Friday 
+0

が、これは次のように小さな変更を行った後に働いていた、あなたに@Martinありがとう: '日= int(m.group(2))、month = int(m.group(1)) ' – Harshil

0

私はあなたがdatetimeモジュール上に読むことをお勧めの問題を解消する各データポイントに平日を割り当てる方法はあります。特に https://docs.python.org/2/library/datetime.html

私は(date.weekdayのドキュメントを信じて)あなたのための問題を解決: date.weekdayは()月曜日を0、日曜日を6として、曜日を整数で返します 。たとえば、日付(2002、12、4).weekday()== 2、水曜日です。 isoweekday()も参照してください。

関連する問題