2016-03-25 45 views
3

我有一個單詞相似性矩陣存儲爲一個熊貓數據框,其中列是〜400字的「種子集」,行索引是一個大型字典〜50,000字。任何行/列的值都是兩個單詞之間從0到1的相似度。熊貓數據框 - 在任何列中標識超過閾值的行

>>> df_sim_mf.info() 
<class 'pandas.core.frame.DataFrame'> 
Index: 46265 entries, #angry to wonga 
Columns: 451 entries, abandon to wrongs 
dtypes: float64(451) 
memory usage: 159.5+ MB 
>>> df_sim_mf.sample(10).sample(5, axis = 1) 
       nationality purest  unite lawless  riot 
assaulted  0.114270 -0.140504 0.182024 0.434651 0.510618 
peekaboo  -0.008734 -0.027742 0.051084 0.260245 0.201117 
antibiotic  0.145310 0.270748 -0.126459 -0.083965 0.043086 
killin   -0.102474 0.123550 0.055935 -0.115381 0.285997 
warrior   0.005229 0.281967 0.261230 0.344130 0.359228 
actionscript -0.029405 0.077793 0.114047 -0.052599 -0.123401 
controversy  0.336688 0.271007 0.373474 0.362565 0.305548 
nic    0.164550 -0.159097 0.080056 0.271184 0.231357 
healy   0.072831 0.102996 0.286538 0.335697 0.183730 
uncovered  0.061310 0.274003 0.328383 0.300315 0.277491 

我試圖從我的大字典中找到與我的任何「種子集」有一定相似範圍內的所有單詞。也就是說,我想選擇每個包含至少一個超過0.75的值的行。

我可以用一些簡單的熊貓命令來做到這一點嗎?

回答

3

你可以這樣做:

df.loc[(df > 0.75).sum(axis=1) > 0, :] 

,並獲得index屬性,如果你只是想的話。