将pickle文件(json)的结果转换为datafram

2024-09-28 22:20:21 发布

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

我从pickle文件中读取如下内容:

data=pickle.load(open("name_ethnicities.pkl", "rb"))

它返回一个json文件,如下所示:

^{pr2}$

我试图从中生成一个dataframe,其中它将返回名称和每个类别中用逗号分隔的“最佳”结果。因此,对于上述内容,数据帧将如下所示:

name               ethnicity
t creavalle        GreaterEuropean, British
uyong yi           Asian, GreaterEastAsian, EastAsian
temple orme        GreaterEuropean, British

等等。。。在

尝试了pd.read_json但那对我没用。有什么建议吗?在


Tags: 文件namejson内容dataframedataloadopen
1条回答
网友
1楼 · 发布于 2024-09-28 22:20:21

试试这个:

pd.DataFrame([(k, ", ".join([x["best"] for x in v])) for k, v in data.items()], 
             columns=["name", "ethnicity"])

说明:

  • 项和k,v是允许某些操作完成的方式。在
  • 例如,请参见[(k, v) for k,v in data.items()]的输出
  • 现在您可以看到它们是对齐的,但是第二列不是您想要的pd.DataFrame([(k,v) for k, v in d.items()])
  • 您需要为每个种族列选择最佳的,您可以通过[x["best"] for x in v]来获得结果:
          name                           ethnicity
0  t creavalle            GreaterEuropean, British
1     uyŏng yi  Asian, GreaterEastAsian, EastAsian
2  temple orme            GreaterEuropean, British

相关问题 更多 >