我喜欢像时钟一样循环旋转行,但我希望每一行都会根据“n_roll”的列进行不同的旋转
所以如果我有那个df
data={"col1":[2,3,4,5],
"col2":[4,2,4,6],
"col3":[7,6,9,11],
"col4":[14,11,22,8],
"name":["A","A","V","A"],
"n_roll":[1,2,2,3]}
df=pd.DataFrame.from_dict(data)
df
所以我希望它看起来像这样
data={"col1":[14,6,9,6],
"col2":[2,11,22,11],
"col3":[4,3,4,8],
"col4":[7,2,4,5],
"name":["A","A","V","A"],
"n_roll":[1,2,2,3]}
df=pd.DataFrame.from_dict(data)
df
也许是这样的: coll_to_roll=["col1","col2","col3","col4"]
df[coll_to_roll] = np.roll(df[coll_to_roll],1,df["n_roll"])