Python 集合分析:创建以交点为索引、以值为计数的熊猫系列

Python 集合分析:创建以交点为索引、以值为计数的熊猫系列,python,pandas,Python,Pandas,我一整天都在努力让这一切顺利进行,这让我开始生气了! 我只想创建一个必要的熊猫系列,输入upsetplot,如下所述: 我不明白generate_data函数是如何操作它的集合来生成一个序列的。我本以为有一种简单的方法可以通过调用set()来实现这一点,但我似乎找不到它 因此,我开始直接操纵我的数据帧,但怀疑这些尝试被误导了 因此,我求助于在下面提供一个简单的数据框架,并祈祷某种善良的灵魂能启发我 import pandas as pd from matplotlib import pyplo

我一整天都在努力让这一切顺利进行,这让我开始生气了! 我只想创建一个必要的熊猫系列,输入upsetplot,如下所述:

我不明白generate_data函数是如何操作它的集合来生成一个序列的。我本以为有一种简单的方法可以通过调用set()来实现这一点,但我似乎找不到它

因此,我开始直接操纵我的数据帧,但怀疑这些尝试被误导了

因此,我求助于在下面提供一个简单的数据框架,并祈祷某种善良的灵魂能启发我

import pandas as pd
from matplotlib import pyplot as plt
from upsetplot import generate_data, plot

df = pd.DataFrame({'john':[1,2,3,5,7,8],
              'jerry':[1,2,5,7,9,2],
              'josie':[2,2,3,2,5,6],
              'jean':[6,5,7,6,2,4]})

df = pd.DataFrame({'john':[True,False,True,False,True,False],
              'jerry':[True,True,False,True,False,True],
              'josie':[True,False,False,True,False,False],
              'jean':[True,False,False,True,False,False],
              'food':['apple','carrot','choc','bread','ham','nut']})
这个例子来自软件包主页

from upsetplot import generate_data
example = generate_data(aggregated=True)
example  # doctest: +NORMALIZE_WHITESPACE
set0   set1   set2
False  False  False      56
              True      283
       True   False    1279
              True     5882
True   False  False      24
              True       90
       True   False     429
              True     1957
Name: value, dtype: int64
不含食品的所有列的合计计数:

df = pd.DataFrame({'john':[True,False,True,False,True,False],
              'jerry':[True,True,False,True,False,True],
              'josie':[True,False,False,True,False,False],
              'jean':[True,False,False,True,False,False],
              'food':['apple','carrot','choc','bread','ham','nut']})

cols = df.columns.difference(['food']).tolist()
s = df.groupby(cols).size()
print (s)
jean   jerry  john   josie
False  False  True   False    2
       True   False  False    2
True   True   False  True     1
              True   True     1
dtype: int64

请说明您的预期输出。
df
是您的输入数据帧吗?我希望使用类似于PyPI页面上显示的pandas系列对象。我已经把它包括在上面了。df是数据帧是。但这只是一个开始的例子,我不关心df是如何设置的(即值是否为字符串、整数、布尔值等),因为我太困惑了,所以你想要这样的数据帧,但最后一列将被你的
食物
列所取代。如果我说的不对,那么请提及您对输入数据帧的预期输出,因为您的输出仍然非常模糊和混乱。对于“示例”中的熊猫系列,布尔集合都是索引的一部分,计数是值。对不起,我明白你的意思了,我会换掉dfjezrael的你是我的英雄!孩子们刚从托儿中心回来,脾气暴躁,再加上这个问题,我真的疯了。非常感谢。