通过在pandas中查找输入值到数据帧

时间:2017-07-14 20:51:20

标签: python pandas dataframe

我有一个简单的数据框:

s =pd.DataFrame({'Dates':['date1','date1','date1','date2','date2','date2','date3','date3','date3'],'Contracts':['A','B','C','A','B','C','A','B','C']})

和字典:

dict = {'date1':['A','B'],'date2':['B']}

创建DataFrame的最佳方法是什么?

['date1','date1','date1','date2','date2','date2','date3','date3','date3'],'Contracts':['A','B','C','A','B','C','A','B','C'], 'Check':['Y','Y','N','N','Y','N','N','N','N']})

我想要完成的是在dict中查找值并在数据帧中标记元素。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以将document.forms[0]与lambda:

一起使用
df.apply

您可以将作业分配到新列:

lookup = {'date1':['A','B'],'date2':['B']}

df.apply(lambda x: 'Y' if x['Dates'] in lookup and x['Contracts'] in lookup[x['Dates']] else 'N', axis=1)