我目前有两个数据框,分别称为“均值”和“方差”,分别按“类”功能分组。
表示DataFrame:
Pregnancies Glucose BP
Class
0 4.00 99.8 56.0
1 4.75 130 62.5
差异DataFrame:
Pregnancies Glucose BP
Class
0 9.10 698 326
1 14.1 1023 463
我想返回一个包含两个键-值对的字典,键等于类编号,并且值为元组,其中包含数据框中每个要素的均值和方差值,如下所示:>
dict = {0:[(4.00, 9.10), (99.8, 698), (56.0, 326)],
1:[(4.75, 14.1), (130, 1023), (62.6, 463)]}
仍然致力于我的数据处理技能。作为参考,这是从零开始构建Naive Bayes分类器的一部分。朴素贝叶斯分类的理论对我来说并不难理解,我显然在努力的部分是正确格式化数据。
答案 0 :(得分:2)
一种方法是连接数据帧,然后使用groupby
+ apply
:
res = pd.concat([means, variances])\
.groupby(level=0).apply(lambda x: list(map(tuple, x.values.T))).to_dict()
print(res)
{0: [(4.0, 9.1), (99.8, 698.0), (56.0, 326.0)],
1: [(4.75, 14.1), (130.0, 1023.0), (62.5, 463.0)]}
如果列表列表足够多,则lambda x: x.values.T.tolist()
更具可读性。