将 Pandas tseries 对象转换为 DataFrame

Posted

技术标签:

【中文标题】将 Pandas tseries 对象转换为 DataFrame【英文标题】:Convert Pandas tseries object to a DataFrame 【发布时间】:2017-01-13 01:05:57 【问题描述】:

我希望将以下<'pandas.tseries.resample.DatetimeIndexResampler'> 类型对象转换为pandas DataFrame 对象(<'pandas.core.frame.DataFrame'>)。但是我在 pandas 文档中找不到相关功能来允许我这样做。

数据采用以下形式:

                  M30
Date                 
2016-02-29  -61.187699
2016-03-31  -60.869565
2016-04-30  -61.717922
2016-05-31  -61.823966
2016-06-30  -62.142100
...

谁能提供替代解决方案?

【问题讨论】:

它们的功能基本相同。数据框是数据列和索引。系列对象基本上是一列数据和一个索引。你需要数据框做什么? 【参考方案1】:

您需要一些聚合函数,例如 summean

以您的数据为例:

print (df)
                  M30
Date                 
2016-02-29 -61.187699
2016-03-31 -60.869565
2016-04-30 -61.717922
2016-05-31 -61.823966
2016-06-30 -62.142100

#resample by 2 months
r = df.resample('2M')
print (r)
DatetimeIndexResampler [freq=<2 * MonthEnds>, 
                        axis=0, 
                        closed=right, 
                        label=right, 
                        convention=start, 
                        base=0]
#aggregate sum
print (r.sum())
                   M30
Date                  
2016-02-29  -61.187699
2016-04-30 -122.587487
2016-06-30 -123.966066

#aggregate mean
print (r.mean())
                  M30
Date                 
2016-02-29 -61.187699
2016-04-30 -61.293743
2016-06-30 -61.983033

#aggregate first
print (r.first())
                  M30
Date                 
2016-02-29 -61.187699
2016-04-30 -60.869565
2016-06-30 -61.823966

【讨论】:

以上是关于将 Pandas tseries 对象转换为 DataFrame的主要内容,如果未能解决你的问题,请参考以下文章

如何测试对象是不是为 pandas 日期时间索引?

Python Pandas:将嵌套字典转换为数据框

将 pandas 数据帧转换为 json 对象 - pandas

Pandas:无法将对象转换为日期时间 [重复]

将 pandas.Series 从 dtype 对象转换为浮点数,将错误转换为 nans

将 Pandas 时间对象转换为字符串