【发布时间】:2022-02-13 07:58:12
【问题描述】:
我在 python 中有一个嵌套字典列表,其中包含我想使用 pandas 分析的数据。以下是一些示例数据:
[
{
"A": { "left": 1, "right": 2 },
"B": { "left": 3, "right": 4 },
"C": { "left": 5, "right": 6 },
},
{
"A": { "left": 7, "right": 8 },
"B": { "left": 9, "right": 10 },
"C": { "left": 11, "right": 12 },
},
...
]
等等。如示例所示,数组中的每一项都是具有相同键的字典,并且每个键都指向具有相同键的字典。在表格形式中,我想它应该是这样的:
|idx|A |B |C |
| |left|right|left|right|left|right|
--------------------------------------
| 0 | 1| 2| 3| 4| 5| 6|
| 1 | 7| 8| 9| 10| 11| 12|
| 2 | ... |
我想要做的是在这个字典列表中为每个字母聚合“左”和“右”的最小值、平均值和最大值,以便它最终得到一个这样的 DataFrame:
|idx|left_min|left_mean|left_max|right_min|right_mean|right_max|
----------------------------------------------------------------
| A | 1| 4| 7| 2| 5| 8|
| B | 3| 6| 9| 4| 7| 14|
| C | 5| 8| 11| 6| 9| 12|
我有使用 python 的经验,但对 pandas 比较陌生,所以我尝试在 pandas 框架中正确处理它,然后我自己用 python 编写它。我尝试了许多不同的方法来将 pandas DataFrames 塑造成这种形式,但我无法完全管理它。我所做的每一次尝试都以奇怪的方式进行了多重索引,或者无法正确聚合。我觉得我在这里缺少一些基本的东西。任何帮助表示赞赏。
【问题讨论】:
-
@MYousefi 如果我可以将字典列表转换为具有多索引列的 DataFrame,您知道如何像我正在寻找的那样聚合最小值、平均值和最大值吗?因为我可以迈出第一步,但我什至不确定这是否是最好的第一步。如果是,我可以包含我的代码以尝试这样做。
-
你很勇敢地在原版 python 中尝试这个 :) 我会把它扔到数据库中,然后扔一些 SQL。
-
@Umar.H 哈,如果我知道任何 SQL,那么也许我会!我只是一个做一些基本分析的游戏开发者,我碰巧知道python。 :)