Если ваш фрейм данных выглядит следующим образом:
from ast import literal_eval
pd.set_option('display.max_colwidth', -1)
print(df)
Ratings ReviewID
0 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 12
1 {'Service': '4', 'Cleanliness': '4', 'Overall': '10'} 54
2 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 48
3 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 90
4 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 75`
, тогда нам просто нужно буквально интерпретировать каждую строку как словарь python и распаковать ее с pd.Series
json_series = df['Ratings'].map(literal_eval).apply(pd.Series)
дает вам
Service Cleanliness Overall
0 5 5 10
1 4 4 10
2 5 5 10
3 5 5 10
4 5 5 10
это, дает нам фрейм данных с тем же индексом, мы можем затем констатировать это обратно:
pd.concat([df,json_series],axis=1)
Ratings ReviewID Service \
0 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 12 5
1 {'Service': '4', 'Cleanliness': '4', 'Overall': '10'} 54 4
2 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 48 5
3 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 90 5
4 {'Service': '5', 'Cleanliness': '5', 'Overall': '10'} 75` 5
Cleanliness Overall
0 5 10
1 4 10
2 5 10
3 5 10
4 5 10