如何将Pandas时间序列转换为带字符串键的dict

时间:2014-11-24 19:43:09

标签: python dictionary time pandas series

我需要将Pandas时间序列对象转换为以日期时间为键的dicts。我尝试了dict(my_ts_obj),但键是Timestamp,而不是string。

万分感谢你的帮助!

1 个答案:

答案 0 :(得分:4)

您可以使用s.index.format()将时间戳转换为字符串:

In [87]: rng = pd.date_range('12/1/2012', periods=4, freq='D')

In [88]: s = pd.Series(pd.np.random.randn(len(rng)), index=rng)

In [89]: s
Out[89]: 
2012-12-01   -1.673655
2012-12-02    1.447061
2012-12-03   -0.672347
2012-12-04    0.202692
Freq: D, dtype: float64

In [90]: dict(zip(s.index.format(), s))
Out[90]: 
{'2012-12-01': -1.6736553219187384,
 '2012-12-02': 1.4470613776383001,
 '2012-12-03': -0.67234662513200982,
 '2012-12-04': 0.20269246374288372}