当前位置: 首页 > 面试题库 >

转换pandas.groupby为dict

潘秦斩
2023-03-14
问题内容

考虑一下,数据框d

d = pd.DataFrame({'a': [0, 2, 1, 1, 1, 1, 1],
                  'b': [2, 1, 0, 1, 0, 0, 2],
                  'c': [1, 0, 2, 1, 0, 2, 2]}
>   a   b   c
0   0   2   1
1   2   1   0
2   1   0   2
3   1   1   1
4   1   0   0
5   1   0   2
6   1   2   2

我想按列将其拆分a成字典,像这样:

{0:    a  b  c
    0  0  2  1,

 1:    a  b  c
    2  1  0  2
    3  1  1  1
    4  1  0  0
    5  1  0  2
    6  1  2  2,

 2:    a  b  c
    1  2  1  0}

我发现使用的解决方案pandas.groupby是:

{k: table for k, table in d.groupby("a")}

还有哪些其他解决方案?


问题答案:

您可以dicttuple/list上使用/应用groupby

res = dict(tuple(d.groupby('a')))


 类似资料:
  • 问题内容: 我怎样才能投来? 问题答案: 您必须创建一个新的。

  • 问题内容: 我仍然是Java的初学者,所以我对线程和并发的了解还很少。但是,由于java.util.Timer和TimerTask存在问题,我希望能够将ScheduledThreadPoolExecutor用作计时器。我对线程的创建非常感兴趣,并且知道我将在几周内学习它们。但是,如果可以的话,有人可以给我一个基本的示例,说明如何使用util.timer将当前的迷你测试程序转换为ScheduledT

  • 更新:我已经尝试将getCalcMean()和calcMean;我理解这个错误的含义,但我不知道如何修复它,因为最终结果需要是double,我认为java可以计算double和int并得到double。我做错了什么? 我正在计算键入999后的总数平均值,但它一直显示为0,我不知道为什么。 有人能告诉我如何让我的getCalcMean()方法将平均值显示为numTotal/count吗? ---班级

  • 我想把下面的代码转换成Java8s。

  • 最近,我浏览了一些网站,将中缀转换成前缀符号,最后我被卷了起来。 我已经给出了我所做的步骤。。 例:-(1(2*3))(5*6)(7/8) 方法1:-(无需任何算法的手动转换):- 方法2:- 根据现场情况http://scanftree.com/Data_Structure/infix-to-prefix 所以,在这里我完全被绞死了。 请任何人提供以下方面的信息:- 关于我在以上2种方法中哪里出

  • 问题内容: 我在上课时遇到了麻烦。我在Raspbian(Raspberry Pi的Debian发行版)上使用Python 2.7。我正在尝试打印两个字典,以便进行文本冒险的比较(并排)。该顺序对于准确比较至关重要。无论我尝试什么,词典都以通常的无序方式打印。 这是我在RPi上执行的操作所得到的: 显然有些不对劲,因为它正在打印函数调用并将键和值组放入嵌套列表中。 这是通过在PC上运行类似内容得到的