【发布时间】:2020-10-09 05:09:27
【问题描述】:
这是数据框。其中包含一些单元格,其中包含字典。我想将字典项转换为列
dfx={'name':['Alex','Jin',np.nan,'Peter'],
'age':[np.nan,10,12,13],
'other':[{'school':'abc','subject':'xyz'},
np.nan,
{'school':'abc','subject':'xyz'},
np.nan,]
}
dfx=pd.DataFrame(dfx)
输出
name age other
Alex {'school': 'abc', 'subject': 'xyz'}
Jin 10.0
12.0 {'school': 'abc', 'subject': 'xyz'}
Peter 13.0
这是所需的输出
name age school subject
Alex abc xyz
Jin 10.0
12.0 abc xyz
Peter 13.0
【问题讨论】:
-
不会很快,所以如果你的框架很大我不推荐这个但你可以这样做
dfx.join(dfx['other'].apply(pd.Series)).drop(columns=['other', 0]) -
我正在尝试这种方式
pd.DataFrame(list(dfx['other'].dropna()))但它重置了索引,使其无法放回