pandas中索引和多索引的组合(dataframe中的嵌套JSON表示)

2024-10-01 15:45:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像这样的嵌套JSON

{ key1: "value1", key2: { key21: { key211: "value211" } }

如果我从键的元组创建一个多索引

[(key1, nan, nan), (key2, key21, key211)]

正如你所看到的,我不能这样做

df[key1] = 'scalar'

因为def[key1]是一个数据帧,在赋值时会导致级别不匹配

那么,如何为这种JSON使用dataframe呢

到目前为止我所知道的-

正常化-我可以正常化数据和操作。但我必须转换回JSON。pandas对此没有现成的API。所以我可以在行上循环并创建对象。但如果多行构成一个对象,而任何键都是一个列表,那么我必须对其进行分组或编制索引。无论如何,我希望避免循环

我在想什么-

  1. 可能是索引和多索引的组合。因此df[key1]是一个系列,我还可以使用pandas数据帧的to_dictAPI。但我不知道如何做到这一点,甚至不知道这是否可行

  2. 有没有办法处理我的多索引中的nan,这样我就可以作为一个系列访问df[key1]。这样我就不用担心我的水平有多深了

更新1

我仍然无法用多索引处理这种情况,因此我最终使用了平面/标准化数据。因此,任何有最后期限的人,我都建议使用平面结构,并使用这个问题中给出的实用程序-Inverse of Pandas json_normalize


Tags: 数据jsonpandasdfdefnan平面元组

热门问题