【问题标题】:How to convert pd.grouper series to DataFrame如何将 pd.grouper 系列转换为 DataFrame
【发布时间】:2019-05-10 09:53:05
【问题描述】:

我有这样的代码:

y1 = data.groupby(['name', pd.Grouper(key='datetime', freq='15d')])['ext price'].mean()
y=pd.DataFrame(y1)
y.head()

输出是:

                                    ext price
name        datetime    
Barton LLC  2014-01-01 07:21:51     3380.91
            2014-01-16 07:21:51     399.5228571
            2014-01-31 07:21:51     1666.523333
            2014-02-15 07:21:51     1804.615
            2014-03-02 07:21:51     1171.176667

我想将此输出作为 DataFrame 如下所示:

    name        datetime                ext price
0   Barton LLC  2014-01-01 07:21:51     3380.91
1   Barton LLC  2014-01-16 07:21:51     399.5228571
2   Barton LLC  2014-01-31 07:21:51     1666.523333
3   Barton LLC  2014-02-15 07:21:51     1804.615
4   Barton LLC  2014-03-02 07:21:51     1171.176667

【问题讨论】:

  • @Dev:谢谢你的建议。下次我会关注的。
  • y.reset_index()
  • @U9-Forward :非常感谢。解决了。​​
  • @KindDAnonymous 我会回答,然后你可以接受
  • 天堂还没看到 :-)

标签: python pandas datetime dataframe


【解决方案1】:

使用reset_index:

print(y.reset_index())

reset_index 只是创建新索引并将旧级别作为列,并使数据框正常。

输出:

    name        datetime                ext price
0   Barton LLC  2014-01-01 07:21:51     3380.91
1   Barton LLC  2014-01-16 07:21:51     399.5228571
2   Barton LLC  2014-01-31 07:21:51     1666.523333
3   Barton LLC  2014-02-15 07:21:51     1804.615
4   Barton LLC  2014-03-02 07:21:51     1171.176667

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-28
    • 2014-11-23
    • 2015-08-08
    • 1970-01-01
    相关资源
    最近更新 更多