输入:
import pandas as pd import numpy as np df=pd.DataFrame(np.random.rand(10,1),columns = ['A']) df['pos']=[0,0,1,2,0,0,1,2,3,4]
我尽量
df.A.rolling(df['pos']).max() or df.A.shift(df['pos'])
不行,怎么实现?
iqjalb3h1#
根据文档,rolling和shift操作都是序列到序列的转换。如果要基于pos中的整数参数生成一系列序列,则需要重复以下操作:
pos
pd.DataFrame({f'seq {i}': df.A.shift(i) for i in df.pos})
1条答案
按热度按时间iqjalb3h1#
根据文档,rolling和shift操作都是序列到序列的转换。如果要基于
pos
中的整数参数生成一系列序列,则需要重复以下操作: