我试图按如下所述在数据帧上使用分组方式:Groupby and lag all columns of a dataframe?
为此,我创建了这段代码:
import pandas as pd
import numpy as np
data=range(1,101)
df=pd.DataFrame(data=data)
df.columns=["a"]
df["b"]=np.round( df["a"] / 5)
print(df)
shifted = df.groupby(level="b").shift(-1)
df=df.join(shifted)
print(df)
不幸的是,这引发了“ ValueError:级别名称b不是索引名称”错误,我似乎无法弄清楚原因。打印df表示它只有一个索引级别,其中带有“ b”。
有人知道如何使它正常工作吗?
PS:我试图在某些列上进行转移,但在组级别上。