我想从我的起始数据集中得到一个数据集,如下所示:
time details bis as go
01:20 {'direction': 'nord', abc {'a':12,'b':20 } yes
'label': 'one',
'media': 'yes'}
01:25 {'direction': 'est', def {'a':2,'b':15 } no
'label': 'one',
'media': 'no'}
所需结果:
time direction label media bis a b go
01:20 nord one yes abc 12 20 yes
01:25 est one no def 2 15 no
答案 0 :(得分:1)
使用pd.concat:
result = pd.concat([df[['time', 'bis', 'go']],
pd.DataFrame.from_records(df.details),
pd.DataFrame.from_records(df['as'])], axis=1)
print(result)
输出
time bis go direction label media a b
0 01:20 abc yes nord one yes 12 20
1 01:25 def no est one no 2 15
您可以像这样重新排列列:
result = result[['time', 'direction', 'label', 'media', 'bis', 'a', 'b', 'go']]
答案 1 :(得分:1)
使用pd.DataFrame + pd.concat:
df1=pd.DataFrame(df['details'].tolist())
df2=pd.DataFrame(df['as'].tolist())
new_df=pd.concat([df[['time','bis','go']],df1,df2],axis=1)
print(new_df)
time bis go direction label media a b
0 01:20 abc yes nord one yes 12 20
1 01:25 def no est one no 2 15