2017-01-05 19 views
-1

曜日と標準偏差の平均ログオンを特定しようとしています。私はこのためにpythonとpandasパッケージを使用しています。助けてくれてありがとう。日ごとの平均ログオン - pythonパンダ

データ:

2016-01-01 13:49:01 
2016-01-02 13:49:03 
2016-01-03 13:49:04 
2016-01-01 13:49:05 
2016-01-02 13:49:02 
2016-01-03 14:49:01 

予想される出力:

Sun: 13:49:03 
Mon: 13:49:02 
Tue: 13:49:02 

Sun STD: 00:00:01 
Mon STD: 00:00:02 
Tue STD: 00:00:05 

答えて

0

より多くのデータおよび/またはあなたが何をしたいの詳細な説明を記入してください。今では、解釈のためのマッハの余地があります。これはあなたに例えば差分を与えるだろう

df = pd.DataFrame() 
df['A'] = pd.to_datetime(pd.read_clipboard(header=None)[0]) 
df['B'] = pd.to_datetime(pd.read_clipboard(header=None)[1]) 

gb = df.B.groupby(df.A.dt.weekday_name) 

print(gb.aggregate({'B':max}) - gb.aggregate({'B':min})) 

は、私はあなたが(最初にデータをコピーする)は、次のようなものを見たいと思っていることを理解しました。

これ以上のデータがある場合、これはクラッシュします。このような何かをresampling methods

0

IDに見てください。

import datetime 
import statistics 
data_org = ['2016-01-01 13:49:01', '2016-01-02 13:49:03', '2016-01-03 13:49:04', '2016-01-01 13:49:05', 
     '2016-01-02 13:49:02', '2016-01-03 14:49:01'] 

data_dict = {} 
for entry in data_org: 
    day, time = entry.split(' ') 

    time = time.split(':') 
    time_secs = datetime.timedelta(hours=int(time[0]), minutes=int(time[1]), seconds=int(time[2])).total_seconds() 

    if day in data_dict: 
     data_dict[day].append(time_secs) 
    else: 
     data_dict[day] = [time_secs] 

stats = {} 
for key, times in data_dict.items(): 
    stats[key] = [statistics.mean(times), statistics.stdev(times)] 

print(data_dict) 
print(stats) 

次に、あなたの出力を再フォーマットし、あなたが好きなようにすべてのポストprossessingを行うことができます。タイムスタンプの変換の詳細については、ドキュメントを参照してください。