在庞大的熊猫数据框中查找排列?

时间:2017-09-18 08:45:49

标签: python-3.x pandas permutation

我有一个非常大的数据框,看起来基本如下:

df_apple = pd.DataFrame({'_id': ['A','B' ,'C'], 'apple': ['1', '0', '1'], 'orange': ['1', '1', '0'],  'kiwi': ['1', '0', '1']})

我有每个_id的功能列和二进制分类。我正在尝试查找_idappleorange的每个排列/组合的所有个体的频次和总数(kiwi)。这与此问题类似here

在此玩具案例中,appleorangekiwi组合出现一次(_id == A),而组合apple == 0 & orange==1 & kiwi==0不显示一点都不

我正在尝试创建一个应包含以下信息的输出:

df_combination = pd.DataFrame({'_id': ['Apple, Orange and Kiwi','Only Orange' ,'Apple and Kiwi but not Orang'], 'Count': ['1', '1', '1']})

即。一个数据框告诉我,找到了哪种组合以及发生的频率。我对那些根本没有出现的组合不感兴趣。

但是,我的数据框大约有300列。我不能指定它们的先验和计算解决这需要很长时间。任何想法如何以一种好的方式解决这个问题?

1 个答案:

答案 0 :(得分:1)

看看这是否符合您的需求:

profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.dir", download_dir)
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.useDownloadDir", True);
profile.set_preference("browser.download.manager.showWhenStarting", False )
profile.set_preference("pdfjs.disabled", True )
profile.set_preference("browser.helperApps.neverAsk.saveToDisk","application/msword, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream")
profile.set_preference("browser.download.manager.alertOnEXEOpen", False);
profile.set_preference("browser.download.manager.focusWhenStarting", False);  
profile.set_preference("browser.helperApps.alwaysAsk.force", False);
profile.set_preference("browser.download.manager.alertOnEXEOpen", False);
profile.set_preference("browser.download.manager.closeWhenDone", True);
profile.set_preference("browser.download.manager.showAlertOnComplete", False);
profile.set_preference("browser.download.manager.useWindow", False);
profile.set_preference("services.sync.prefs.sync.browser.download.manager.showWhenStarting",False);