我正在尝试通过考虑前 n 行的值在我的 pandas 数据框中填充一个新列。如果当前值不等于该列中过去 n 个值中的任何一个,则应填充“N”,否则填充“Y”。
请告诉我什么是实现此目标的好方法。
这是我的输入数据:
testdata = {'col1' :['car','car','car','bus','bus','bus','car']}
df = pd.DataFrame.from_dict(testdata)
输入方向:
col1
0 car
1 car
2 car
3 bus
4 bus
5 car
6 car
输出 DF(n=2):
col1 Result
0 car
1 car
2 car Y
3 bus N
4 bus Y
5 bus Y
6 car N
最佳答案
这是我的方式
n=2
l=[False]*n+[df.iloc[x,0] in df.iloc[x-n:x,0].tolist() for x in np.arange(n,len(df))]
df['New']=l
df
col1 New
0 car False
1 car False
2 car True
3 bus False
4 bus True
5 bus True
6 car False
关于python - 将前 N 行与 pandas 列中的当前行进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56573008/