[1] df
Station ID Pollutants
8809{"a":"46","b":"3","c":"12"}8810{"a":"36","b":"5","c":"8"}8811{"b":"2","c":"7"}8812{"c":"11"}8813{"a":"82","c":"15"}
1
2
3
4
5
6
7
1. step 1: convert the Pollutants column to Pandas dataframe series
df_pol_ps = data_df['Pollutants'].apply(pd.Series)
df_pol_ps:
a b c
046312136582 NaN 273 NaN NaN 11482 NaN 15
1
2
3
4
5
6
7
8
9
step 2: concat columns a, b, c and drop/remove the Pollutants
df_final = pd.concat([df, df_pol_ps], axis =1).drop('Pollutants', axis =1)
df_final:
StationID a b c
088094631218810365828811 NaN 2738812 NaN NaN 114881382 NaN 15
1
2
3
4
5
6
7
8
9
Method 2:一步搞定
df_final = pd.concat([df, df['Pollutants'].apply(pd.Series)], axis =1).drop('Pollutants', axis =1)
df_final:
StationID a b c
088094631218810365828811 NaN 2738812 NaN NaN 114881382 NaN 15