我正在尝试使用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_series的计数,其中不为空(不是数字)。但我希望有一个代码,而不是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
...a图有点像这样:
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“改为另一段代码,这样才能提供我正在寻找的东西?提前感谢!
发布于 2021-09-09 11:23:11
UpSet图显示了这两个图形。总图是前者,交集/子集图是后者。
请参阅https://gist.github.com/jnothman/0fc6daf3d9d75513dd3311e86e06cc8c
https://stackoverflow.com/questions/68903732
复制相似问题