我有一列数据是按1到35排序的。此顺序在同一列中重复,以使其变为1,2,3,4 ... 34,35,1,2,3等。
我想将它们重新映射到另一列,以便新的列 1,1,1,1,1,2,2,2,2,2,3,3,3,3,3 ....
问题在于,当我通过使新列变为类似这样的方式来尝试将这种模式向下拖动时,excel变得非常困惑:
= A1,= A36,= A71,= A116,= A151,= A2,= A37 ...然后将所选单元格向下拖动。
由于某种原因尝试上述方法时,它认为应该为1,1,1,1,1,2,2,2,2,2(这是我手动输入的),10,10,10 ,10,10,11,11,11,11,11,11,20,20,20,20,20,21,21,21,21
由于某种原因,它需要跳过一些单元格,因为当间隔结束时,它需要补偿我们低10个单元格或idk的事实。但这就是我得到的。
我需要做的就是根据= AX-> B(5 *(x-1)+1)函数重新映射单元格
这应该将A1重新映射为B1,将A2重新映射为B6,以此类推,然后当X> = 36时,只需重做映射即可,使其类似于AX-> B(5 *(x-36)+2),因此A36变为B2,A37变为B7
然后我可以为第一行重复设置5个功能。
我认为这是我所需要的,但是任何适合最初目标的东西都会受到赞赏。
答案 0 :(得分:0)
关于您的第一个模式import pandas as pd
from natsort import natsorted
df = df.reindex(natsorted(df.columns)), axis=1)
A1,A36,A71,A106,A141,A2,A37,...