Tampa
Tampa

Reputation: 78244

How to get python dictionaries into a pandas time series dataframe where key is date object

I have a python dictionaries where the key is a dateobject and the value is the timeseires.

   timeseries = {datetime.datetime(2013, 3, 17, 18, 19): {'t2': 400, 't1': 1000},
                 datetime.datetime(2013, 3, 17, 18, 20): {'t2': 300, 't1': 3000}
                }

How to I get this time series into a pandas dataframe?

Upvotes: 7

Views: 8531

Answers (2)

HYRY
HYRY

Reputation: 97261

use DataFrame.from_dict:

import pandas as pd
import datetime
timeseries = {datetime.datetime(2013, 3, 17, 18, 19): {'t2': 400, 't1': 1000},
                 datetime.datetime(2013, 3, 17, 18, 20): {'t2': 300, 't1': 3000}
                }
print pd.DataFrame.from_dict(timeseries, orient="index")

output:

                      t2    t1
2013-03-17 18:19:00  400  1000
2013-03-17 18:20:00  300  3000

Upvotes: 18

thkang
thkang

Reputation: 11543

you need Series to create a DataFrame.

series_dict = dict((k, Series(v)) for k, v in timeseries.iteritems())

df = DataFrame(series_dict)

Upvotes: 0

Related Questions