Как преобразовать один столбец данных в словарь для каждой строки с именем столбца в качестве ключа? - PullRequest
1 голос
/ 24 апреля 2019

Я хочу использовать функциональность расширения Doc от Spacy.Мне нужно преобразовать столбцы dataframe в кортежи, состоящие только из текста и словаря с парами значений имени столбца.

Использование pandas dataframe.to_dict (orient = 'records') подходит близко, но не позволяет мне использовать только 1 столбец или выбирать определенные столбцы.Применение метода to_dict () к одному столбцу данных также не приближает меня к желаемому макету.Стоит ли использовать другой подход?


import pandas as pd
df = pd.DataFrame({
    'Textitself': ['Just a text'],
    'Textkey': [502]
})
otherlayout = df.to_dict('records')
print(otherlayout)

Ниже вы найдете формат, который я пытаюсь получить.

desired_format = [('Just a text',{'Textkey' : 502 }), ('One more text', {'Textkey' : 103 })]

print(desired_format)

1 Ответ

0 голосов
/ 24 апреля 2019

Вот один из способов сделать это:

import pandas as pd
df = pd.DataFrame({
    'Textitself': ['Just a text','One more text'],
    'Textkey': [502, 103]
})
otherlayout = df.to_dict('records')
print(otherlayout)

desiredformat = [(i,dict(j)) for i,j in df.set_index("Textitself").iterrows()]
print(desiredformat)

вывод

[{'Textitself': 'Just a text', 'Textkey': 502}, {'Textitself': 'One more text', 'Textkey': 103}]


[('Just a text', {'Textkey': 502}), ('One more text', {'Textkey': 103})]
...