首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何移动数据帧中的每一行?

如何移动数据帧中的每一行?
EN

Stack Overflow用户
提问于 2022-07-29 07:38:49
回答 1查看 33关注 0票数 1

有人能告诉我如何做到这一点吗?

原始数据格式如下:

代码语言:javascript
复制
                  value
2021-4-22          1
2021-4-23          22
2021-4-26          31
2021-4-27          42
2021-10-11         12
2021-10-13         15
2021-10-15         54
2021-10-16         65
2022-02-21         27
2022-02-22         23
2022-02-23         78
2022-02-24         56

例如,我希望将数据转换为1行,每4行作为一个组:

代码语言:javascript
复制
                  value
2021-4-22          nan
2021-4-23          1
2021-4-26          22
2021-4-27          31
2021-10-11         nan
2021-10-13         12
2021-10-15         15
2021-10-16         54
2022-02-21         nan
2022-02-22         27
2022-02-23         23
2022-02-24         78
EN

回答 1

Stack Overflow用户

发布于 2022-07-29 07:41:35

看来你每个月都想换班。使用索引创建一个月期间,然后是groupby.shift

代码语言:javascript
复制
group = pd.to_datetime(df.index).to_period('M')
out = df.groupby(group).shift()

如果您真的想使用固定数字(N=4):

代码语言:javascript
复制
N=4
group = np.arange(len(df))//N
out = df.groupby(group).shift()

产出:

代码语言:javascript
复制
            value
2021-4-22     NaN
2021-4-23     1.0
2021-4-26    22.0
2021-4-27    31.0
2021-10-11    NaN
2021-10-13   12.0
2021-10-15   15.0
2021-10-16   54.0
2022-02-21    NaN
2022-02-22   27.0
2022-02-23   23.0
2022-02-24   78.0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73163180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档