gpt4 book ai didi

python - 设置分析: create pandas series with intersections as index and values as counts

转载 作者:行者123 更新时间:2023-12-01 08:28:50 27 4
gpt4 key购买 nike

我一整天都在努力尝试,试图让这项工作成功,但它开始让我生气!我想要做的就是创建一个必要的 pandas 系列,用于输入 Updplot,详细信息如下:

https://pypi.org/project/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

最佳答案

总计计数 GroupBy.size所有列均不含 food:

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

关于python - 设置分析: create pandas series with intersections as index and values as counts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54033983/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com