问题描述
我正在寻找一种在不拆分索引和值列的情况下将DataFrame转换为TimeSeries的方法.有任何想法吗?谢谢.
I am looking for a way to convert a DataFrame to a TimeSeries without splitting the index and value columns. Any ideas? Thanks.
In [20]: import pandas as pd
In [21]: import numpy as np
In [22]: dates = pd.date_range('20130101',periods=6)
In [23]: df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=list('ABCD'))
In [24]: df
Out[24]:
A B C D
2013-01-01 -0.119230 1.892838 0.843414 -0.482739
2013-01-02 1.204884 -0.942299 -0.521808 0.446309
2013-01-03 1.899832 0.460871 -1.491727 -0.647614
2013-01-04 1.126043 0.818145 0.159674 -1.490958
2013-01-05 0.113360 0.190421 -0.618656 0.976943
2013-01-06 -0.537863 -0.078802 0.197864 -1.414924
In [25]: pd.Series(df)
Out[25]:
0 A
1 B
2 C
3 D
dtype: object
推荐答案
我知道这对游戏来说太晚了,但有几点.
I know this is late to the game here but a few points.
是否将DataFrame
视为TimeSeries
是索引的类型.在您的情况下,您的索引已经是TimeSeries
,因此您可以使用.有关您可以使用pd.timeseries索引进行的所有切片的更多信息,请查看 http://pandas.pydata.org/pandas-docs/stable/timeseries.html#datetime-indexing
Whether or not a DataFrame
is considered a TimeSeries
is the type of index. In your case, your index is already a TimeSeries
, so you are good to go. For more information on all the cool slicing you can do with a the pd.timeseries index, take a look at http://pandas.pydata.org/pandas-docs/stable/timeseries.html#datetime-indexing
现在,其他人可能会到达这里,因为他们有一个要创建索引的列'DateTime'
,在这种情况下,答案很简单
Now, others might arrive here because they have a column 'DateTime'
that they want to make an index, in which case the answer is simple
ts = df.set_index('DateTime')
这篇关于如何将pandas DataFrame转换为TimeSeries?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!