gpt4 book ai didi

python - 移动行以及 Pandas 数据框中的索引

转载 作者:行者123 更新时间:2023-11-28 18:59:08 24 4
gpt4 key购买 nike

如果我这样做

df = df.apply(np.roll, shift=-1) --> this moves everything by one row. 
first row gets to last row.

这是完美的,但是它不会随着行移动索引。

有没有办法改变索引?

最佳答案

您可以使用 .iloc 自己完成此操作:

import numpy as np

shift = 1
l = len(df)
df.iloc[np.r_[(l-shift)%l:l, 0:(l-shift)%l]]

# 0 1 2
#d 3 4 5
#a 8 8 1
#a 4 8 5
#b 9 9 3
#c 5 1 7

shift = -2

# 0 1 2
#b 9 9 3
#c 5 1 7
#d 3 4 5
#a 8 8 1
#a 4 8 5

或者重置索引,然后再设置回去:

df.reset_index().apply(np.roll, shift=1).set_index('index')

# 0 1 2
#index
#d 3 4 5
#a 8 8 1
#a 4 8 5
#b 9 9 3
#c 5 1 7

示例数据:

   0  1  2
a 8 8 1
a 4 8 5
b 9 9 3
c 5 1 7
d 3 4 5

关于python - 移动行以及 Pandas 数据框中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54789982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com