如何使用upsetplot python在dataframe中查找交集

2024-09-20 04:12:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用upsetplot来查找数据帧中列数据之间的交集。我使用的代码来自此库的开发人员提供的代码,如下所示:

import upsetplot
from upsetplot import from_indicators, plot 
   
plot(from_indicators(indicators=pd.notna, data=data), show_counts=True)
plt.show()

因此,上面的代码给了我一个图形,作为df中cell/pd_系列计数的输出,其中不是空的(不是数字)。但是我希望有一个代码,在这个代码中,我可以计算所有列中的“核心”项,而不是notna

我上面的代码将从这个数据框中给出(在本例中,数字改为字母):

-------column_1--column_2--column_3--column_4--column_5     
row_1--   A    --   A    --        --   A    --   
row_2--   B    --        --   B    --   B    --  
row_3--        --        --   C    --        --
row_4--   D    --   D    --        --   D    --
row_5--   E    --        --   E    --        --
row_6--        --        --        --        --   F

…类似这样的图形:

column_1 :           **** (4 not_empty)
column_3, column_4 : *** (3 not_empty)
column_2 :           ** (2 not_empty)
column_5 :           * (1 not_empty)

但实际上我想要的是一个包含如下信息的图表:

column_1, column_2, column_4 : ** (A, D in_common)
column_1, column_3, column_4 : * (B in_common)
column_1, column_3 :           * (E in_common)
column_5 :                     - (F not_in_common)

你们有没有人对如何将“pd.notna”改成另一段代码有什么想法,这段代码可以提供我想要的东西? 提前谢谢


Tags: 数据代码infromimportplotnotcolumn