我有一个这样的数据框:
data = [[2,10,1],[3,20,3],[4,30,5],[5,40,7],[6,50,9],[7,60 ,11],[8,70,13],[9,80,15],[10,90,17],[11,100,19],[12,110,21],[13,120,23],[14,130,25 ],[15,140,27],[16,150,29],[17,160,31],[18,170,33]]
df = pd.DataFrame(数据,列= ['A','B','C'])
但是,我想这样处理数据:
def公式(i): 对于我在范围内(len(df)): df.loc [i + 12] -df.loc [i]
df ['D'] = df ['C']。apply(公式)
但显示错误。我的意图是得到这样的东西:
列D =数据第3行至第1行重复进行
答案 0 :(得分:1)
df['D'] = df['C'] - df['C'].shift(3)