Python 找出前两行中是否存在值

Python 找出前两行中是否存在值,python,pandas,Python,Pandas,我有一个df,我想在该值中找到它,它在每个选定列的前2行中重复。我该怎么做 在excel中,我可以通过=if(countif(A1:B2,C1),“True”,“False”)来实现 c={'N1':[1,1,2,3,4,4,5],'N2':[2,3,4,4,5,6,7],'N3':[3,7,5,5,6,7,8],} df=pd.DataFrame(c,列=['N1','N2','N3']) 预期结果: c={'N1':[1,1,2,3,4,4,5],'N2':[2,3,4,4,5,6,7],

我有一个df,我想在该值中找到它,它在每个选定列的前2行中重复。我该怎么做

在excel中,我可以通过=if(countif(A1:B2,C1),“True”,“False”)来实现

c={'N1':[1,1,2,3,4,4,5],'N2':[2,3,4,4,5,6,7],'N3':[3,7,5,5,6,7,8],}
df=pd.DataFrame(c,列=['N1','N2','N3'])
预期结果:
c={'N1':[1,1,2,3,4,4,5],'N2':[2,3,4,4,5,6,7],'N3':[3,7,5,5,6,7,8],
“结果1”:['NA'、'NA'、'True'、'True'、'True'、'True'、'True'、'True'],
“结果2”:['NA','NA','False','True','True','True','True','True','True'],
“结果3”:['NA'、'NA'、'False'、'True'、'False'、'False'、'False']]
df=pd.DataFrame(c,列=['N1'、'N2'、'N3'、'Result1'、'Result2'、'Result3']

预期结果如上所述。

创建另一个具有2个移位的数据帧,然后检查是否在这6个值中的任何一个中找到了每列的值

u = pd.concat([df.shift(x) for x in range(1, 3)], axis=1, ignore_index=True)

for i in range(df.shape[1]):
    df[f'Result{i+1}'] = u.eq(df.iloc[:, i], axis=0).any(1)

cols = [x for x in df.columns if 'Result' in x]
df.loc[s.isnull().any(1), cols] = 'NA'

   N1  N2  N3 Result1 Result2 Result3
0   1   2   3      NA      NA      NA
1   1   3   7      NA      NA      NA
2   2   4   5    True   False   False
3   3   4   5    True    True    True
4   4   5   6    True    True   False
5   4   6   7    True    True   False
6   5   7   8    True    True   False

到目前为止你做了什么?请提供一个代码片段,以便于帮助您,因为SO不是一个代码编写平台/服务。您的excel功能与您描述的不匹配。我很困惑