首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >填充预定义的pandas数据帧

填充预定义的pandas数据帧
EN

Stack Overflow用户
提问于 2020-07-19 21:00:17
回答 1查看 44关注 0票数 2

我有一个预定义的数据帧df1

代码语言:javascript
运行
复制
import pandas as pd

df1 = pd.DataFrame(columns = ["id", "col_a","col_b","col_c"])

我有一个json文件:

代码语言:javascript
运行
复制
{'123': {'col_a': 5, 'col_b': "kuku", 'col_c': True}}

或者有时它可以是:

代码语言:javascript
运行
复制
{'123': {'col_a': 5, 'col_b': ["kuku", "bubu", "fooo"], 'col_c': True}}

其中'123'密钥是id

我想将这些json的数据作为新的行/行添加到我的数据帧中,但是如果col_b是一个列表,我希望它是:

代码语言:javascript
运行
复制
id    col_a col_b col_c
123   5     kuku  True
123   5     bubu  True
123   5     fooo  True

或者对col_b应用一个热编码器。

我使用的是pd.json_normalize,但我还想取消列表的嵌套并添加id值。

请告诉我做这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-19 21:01:33

不是最干净的,但你可以这样做:

代码语言:javascript
运行
复制
df1 = df1.append(pd.DataFrame(new_json).T
                   .explode('col_b')
                   .rename_axis('id')
                   .reset_index()
                )

输出:

代码语言:javascript
运行
复制
    id col_a col_b col_c
0  123     5  kuku  True
1  123     5  bubu  True
2  123     5  fooo  True
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62980617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档