首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将值作为字典的列拆分为新列(使用NaN值)

如何将值作为字典的列拆分为新列(使用NaN值)
EN

Stack Overflow用户
提问于 2022-01-29 20:07:45
回答 2查看 67关注 0票数 2

在df中将值拆分为字典(有些行没有所有值)到新列的最佳方法是什么?

发自:

代码语言:javascript
复制
df = pd.DataFrame({'index': [0, 1, 2], 
                   'a': [{'name': 'peter', 'country': 'us', 'document': 'singular', 'date': '2023-06-27'}, 
                         {'country': 'italy', 'document': 'earth', 'date': '2023-06-25'},
                         {'name': 'maria', 'country': 'spain', 'date': '2023-06-23'}]})
代码语言:javascript
复制
| index |                                  a                                        |
|:-----:|:-------------------------------------------------------------------------:|
|   0   | {'name':'peter','country':'us','document':'singular','date':'2023-06-27'} |
|   1   | {'country':'italy','document':'earth','date':'2023-06-25'}                |
|   2   | {'name':'maria','country':'spain','date':'2023-06-23'}                    |

代码语言:javascript
复制
| index |  name  | country | document |    date    |
|:-----:|:------:|:-------:|:--------:|:----------:|
|   0   | peter  | us      | singular | 2023-06-27 |
|   1   | nan    | italy   | earth    | 2023-06-25 |
|   2   | maria  | spain   | NaN      | 2023-06-23 |
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-29 20:11:45

您可以使用json_normalize列"a“并将其返回到DataFrame:

代码语言:javascript
复制
out = df.join(pd.json_normalize(df['a'])).drop(columns=['a'])

输出:

代码语言:javascript
复制
   index   name country  document        date
0      0  peter      us  singular  2023-06-27
1      1    NaN   italy     earth  2023-06-25
2      2  maria   spain       NaN  2023-06-23
票数 2
EN

Stack Overflow用户

发布于 2022-01-29 20:24:43

字典中有'a‘和'index’键,您可以使用'a‘键中的数据来实现这一点。

代码语言:javascript
复制
a=[{'name': 'peter', 'country': 'us', 'document': 'singular', 'date': '2023-06-27'},{'country': 'italy', 'document': 'earth', 'date': '2023-06-25'},{'name': 'maria', 'country': 'spain', 'date': '2023-06-23'}]

那就这么做吧

代码语言:javascript
复制
pd.DataFrame(a).reset_index()

产出:

代码语言:javascript
复制
   index   name country  document        date
0      0  peter      us  singular  2023-06-27
1      1    NaN   italy     earth  2023-06-25
2      2  maria   spain       NaN  2023-06-23
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70909302

复制
相关文章

相似问题

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