Sort of:
import pandas as pd
df = pd.DataFrame([
[20, 30, {'ab':1, 'we':2, 'as':3}, 'String1'],
[21, 31, {'ab':4, 'we':5, 'as':6}, 'String2'],
[22, 32, {'ab':7, 'we':8, 'as':9}, 'String2'],
], columns=['Col A', 'Col B', 'Col C', 'Col D'])
ddf = pd.DataFrame(columns=['AB','WE','AS'])
for (i,r) in df.iterrows():
e = r['Col C']
ddf.loc[i] = [e['ab'], e['we'], e['as']]
df = pd.concat([df, ddf], axis=1)
df = df[['Col A', 'Col B', 'AB', 'WE', 'AS', 'Col D']]
print(df)
Conclusion:
Col A Col B AB WE AS Col D
0 20 30 1 2 3 String1
1 21 31 4 5 6 String2
2 22 32 7 8 9 String2
source
share