将列表转换为 DataFrame 并在 DataFrame 列中拆分嵌套字典 - Python 3.6
Posted
技术标签:
【中文标题】将列表转换为 DataFrame 并在 DataFrame 列中拆分嵌套字典 - Python 3.6【英文标题】:Convert List to DataFrame and Split nested dictionary inside DataFrame column - Python 3.6 【发布时间】:2019-03-03 11:24:22 【问题描述】:我想将 List 转换为 DataFrame 并在 DataFrame 列中拆分嵌套字典,下面是我的代码。
import pandas
d = ["key":1000000, "name":"Aelf", "level":0, "hasData":"true", "fields":"id":"elf"]
pd.DataFrame(d)
我想将“字段”拆分为新列“id”
key name level hasData fields id
1000000 Aelf 0 true 'id': 'elf' elf
【问题讨论】:
【参考方案1】:使用concat
pd.concat([df,df.fields.apply(pd.Series)],axis=1)
Out[308]:
fields hasData key level name id
0 'id': 'elf' true 1000000 0 Aelf elf
【讨论】:
【参考方案2】:您可以将join
与pop
+ tolist
一起使用:
d = ["key":1000000, "name":"Aelf", "level":0, "hasData":"true", "fields":"id":"elf",
"key":2000000, "name":"Cdaf", "level":1, "hasData":"false", "fields":"id":"deer"]
df = pd.DataFrame(d)
res = df.join(pd.DataFrame(df.pop('fields').tolist()))
结果:
hasData key level name id
0 true 1000000 0 Aelf elf
1 false 2000000 1 Cdaf deer
【讨论】:
以上是关于将列表转换为 DataFrame 并在 DataFrame 列中拆分嵌套字典 - Python 3.6的主要内容,如果未能解决你的问题,请参考以下文章
将 DataFrame 或 Series 列表转换为一个堆叠的 DataFrame(或 Series)