检查数据框熊猫内每个数据点的最佳方法

时间:2018-11-30 02:34:08

标签: python pandas

我有2个DataFrame,包含110.000行和10列,另一个有47.000个数据点,具有8列。我使用2数据框来检查第一个数据框的有效性。如果匹配,我将把第一行数据框和第二行数据框的这一行带到新的数据帧中。

我在第二个DataFrame中检查的方式是在列关键字中得到一个keyword。然后我用1st DataFrame的列字符串检查是否包含关键字。

现在我正在使用2 loops iterrows()进行检查。但是我会花很多时间做。我想知道有没有更有效的方法来做到这一点。 我的代码是这样的:

    for index, ebayrow in ebaydata.iterrows():
        make_match = [e_scrubrow for idx,e_scrubrow in etail_scrub_data.iterrows() if e_scrubrow['keyword'] in ebayrow['title']]
        nummatch = len(make_match)
        if nummatch == 0:
            continue
        else:
            model_match = [e_scrubrow for e_scrubrow in make_match if e_scrubrow['keyword2'] in ebayrow['title']]
            nummatch = len(model_match)
            if nummatch == 0:
                continue
            else:
                if nummatch == 1:
                    scrubrow = model_match[0]
                    ebaychecked.append(scrubrow['keyword'])
                    ebaychecked1.append(scrubrow['keyword2'])
                    ebaychecked2.append(scrubrow['keyword3'])
                    ebaychecked7.append(ebayrow['info'])
                    print(len(ebaychecked))
                else:
                    year_match = [e_scrubrow for e_scrubrow in model_match if e_scrubrow['keyword3'] in ebayrow['title']]
                    nummatch = len(year_match)
                    if nummatch == 0:
                        scrubrow = model_match[0]
                    ebaychecked.append(scrubrow['keyword'])
                    ebaychecked1.append(scrubrow['keyword2'])
                    ebaychecked2.append(scrubrow['keyword3'])
                    ebaychecked7.append(ebayrow['info'])
                        print(len(ebaychecked))

0 个答案:

没有答案