Как преобразовать словарь в dataframe в Python - PullRequest
0 голосов
/ 18 сентября 2018
data = {'documents': [{'score': 0.8806856870651245, 'id': '1'}, {'score': 0.15902310609817505, 'id': '2'}, {'score': 0.9225043058395386, 'id': '3'}, {'score': 0.9872093200683594, 'id': '4'}], 'errors': []}

comments = 
0    I love how we walk in to the fruit and vegetab...
1    When stores upgrade finished nothing to improve??
2    I was pleased with the cheerful efficiency wit...
3    Affordable prices, varieties and staff are ve..

Есть две части данных.Как удалить данные [«ошибки»] , а затем преобразовать в данные, как показано ниже?После этого объедините данные комментариев, которые Серии ?

score                        id       comments
0.8806856870651245            1       I love how
0.15902310609817505           2       When stores
0.9225043058395386            3       I was pleased with
0.9872093200683594            4       Affordable prices

1 Ответ

0 голосов
/ 18 сентября 2018

Вам не нужно удалять ошибки, вам просто нужно создать фрейм данных, обратившись к documents внутри данных. Этот формат словаря будет автоматически преобразован в фрейм данных, в котором столбцы являются ключами к словарю.

Затем просто объедините комментарии после первого преобразования их в фрейм данных с помощью to_frame(). Обратите внимание, что я использовал строковые значения для индекса, чтобы сопоставить их с данными документов.

# Create sample comments.
comments = pd.Series(['I love how', 'When stores', 'I was pleased with', 'Affordable prices'], 
                     index=['1', '2', '3', '4'])

>>> pd.DataFrame(data['documents']).merge(
        comments.to_frame('comments'), left_on='id', right_index=True)
  id     score            comments
0  1  0.880686          I love how
1  2  0.159023         When stores
2  3  0.922504  I was pleased with
3  4  0.987209   Affordable prices
...