我有以下df
,其值为字典:
tests
SO4 {'Mon': 6, 'Tues': 6, 'Wed': 7}
CH3 {'Mon': 0, 'Tues': 8, 'Wed': 10}
我想获得所需的输出:
0 1 2
SO4 'Mon': 6 'Tues': 6 'Wed': 7
CH3 'Mon': 0 'Tues': 8 'Wed': 10
我怎么能将字典拆分成单独的列?
我已经看到使用rsplit
函数对字符串进行拆分但不确定如何在字典作为值的情况下应用它。
答案 0 :(得分:1)
我认为更好用:
df = pd.DataFrame(df['tests'].values.tolist(), index=df.index)
print (df)
Mon Tues Wed
SO4 6 6 7
CH3 0 8 10
但如果确实需要它(但是设计不是可排序的,那么可能会得到不同的输出):
df = df['tests'].astype(str).str.strip('{}').str.split(', ', expand=True)
print (df)
0 1 2
SO4 'Mon': 6 'Wed': 7 'Tues': 6
CH3 'Mon': 0 'Wed': 10 'Tues': 8