python – 将pandas数据帧单元格中的字典解析为新的行单元格(新列)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 将pandas数据帧单元格中的字典解析为新的行单元格(新列),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1234字,纯文字阅读大概需要2分钟。
内容图文
![python – 将pandas数据帧单元格中的字典解析为新的行单元格(新列)](/upload/InfoBanner/zyjiaocheng/750/55eaa36f610f4510b4c278ef602a672a.jpg)
我有一个Pandas Dataframe,其中包含一列包含key:value对字典的单元格,如下所示:
{"name":"Test Thorton","company":"Test Group","address":"10850 Test #325\r\n","city":"Test City","state_province":"CA","postal_code":"95670","country":"USA","email_address":"test@testtest.com","phone_number":"999-888-3333","equipment_description":"I'm a big red truck\r\n\r\nRSN# 0000","response_desired":"week","response_method":"email"}
我正在尝试解析字典,因此生成的Dataframe包含每个键的新列,并使用每列的结果值填充行,如下所示:
//Before
1 2 3 4 5
a b c d {6:y, 7:v}
//After
1 2 3 4 5 6 7
a b c d {6:y, 7:v} y v
建议非常感谢.
解决方法:
考虑df
df = pd.DataFrame([
['a', 'b', 'c', 'd', dict(F='y', G='v')],
['a', 'b', 'c', 'd', dict(F='y', G='v')],
], columns=list('ABCDE'))
df
A B C D E
0 a b c d {'F': 'y', 'G': 'v'}
1 a b c d {'F': 'y', 'G': 'v'}
选项1
使用pd.Series.apply,分配新列
df.E.apply(pd.Series)
F G
0 y v
1 y v
像这样分配它
df[['F', 'G']] = df.E.apply(pd.Series)
df.drop('E', axis=1)
A B C D F G
0 a b c d y v
1 a b c d y v
选项2
使用pd.DataFrame.assign方法管理整个事物
df.drop('E', 1).assign(**pd.DataFrame(df.E.values.tolist()))
A B C D F G
0 a b c d y v
1 a b c d y v
内容总结
以上是互联网集市为您收集整理的python – 将pandas数据帧单元格中的字典解析为新的行单元格(新列)全部内容,希望文章能够帮你解决python – 将pandas数据帧单元格中的字典解析为新的行单元格(新列)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。