我有两个X1和X2列的数据框
第一件事:在X2中,我的值为0和1,如果在X2中值为1(当此值从1变为零时),则在接下来的20行中应为1而不是零。
例如 :
X2=(0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
desired X2=(0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
第二件事情:如果X1=0
和X2=1
再从数据框中选择行,直到X2
值保持1我想这段代码,但它选择只有一行。
df1=df[(df['X1'] == 0) & (df['X2'] ==1)]
编辑以包括两个部分:
# First Thing:
df['X2'] = df['X2'].replace({0: np.nan}).ffill(limit=20).fillna(0)
# Second Thing:
df.loc[(df['X1'] == 0) & (df['X2'] == 1), 'new X2'] = 1
df.loc[(df['X2'] == 0), 'new X2'] = 0
df['new X2'] = df['new X2'].ffill()
df.loc[df['new X2'] == 1] # Selected Rows
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句