如何将一个列值与pandas中的大数据集的其他列进行比较

时间:2017-09-01 06:15:39

标签: python database pandas dataframe

我有一个通过合并两个表创建的数据帧。现在,对于每一行,我必须从特定列中选择值,并将其与名称在列表中提供的其他列匹配。

def segmentMatch(str1,str2):
if(str1==str2):
    return 1
else:
    return 0

Cols=['Col1','Col2','Col3','Col4','Col5'.....,'Col20']
for li in Cols:
    #print li
    if (df.apply(lambda x: segmentMatch(x['Column_to_be_match'], x.li), axis=1)):
        print "Matched"

显示以下错误

AttributeError: ("'Series' object has no attribute 'li'", u'occurred at index 0', u'occurred at index 0')

我甚至尝试x [li]但不适合我。

1 个答案:

答案 0 :(得分:1)

这将返回一个系列,其中对于m.example.com的每个元素,您将获得关于整列是否等于Col

的真值
'Column_to_be_match'

这将返回一个真值数据框,将df[Cols].apply(pd.Series.equals, other=df['Column_to_be_match']) 'Column_to_be_match'

中的每一列进行比较
Col