Как преобразовать строковое представление словаря в Pandas DataFrame в новые столбцы? - PullRequest
0 голосов
/ 12 мая 2019

У меня есть строковое представление словаря в столбце Pandas DataFrame, например:

>>> df['the_column']

0 "{'a': 1., 'b': 2., 'c':3.}"
1 "{'a': 4., 'b': 5., 'c':6.}"
2 "{'a': 7., 'b': 8., 'c': 9.}"
3 "{'a': 10., 'b': 11., 'c':12.}"
    ...

Я хочу добавить каждый ключ к столбцу в существующем DataFrame, как это возможно?

Я пробовал что-то вроде этого:

list_of_new_col = [json.loads(c) for c in df['the_column']]
# resulting list of dictionary
# convert it to pandas DataFrame
# and then concat with the existing DataFrame

, но у меня есть TypeError: the JSON object must be str, bytes or bytearray, not 'float'

Есть идеи, как с этим справиться?

Спасибо.

ПРИМЕЧАНИЕ: я допустил ошибку, проверьте подробности принятого ответа и комментария.

1 Ответ

4 голосов
/ 12 мая 2019

Вы можете попробовать с ast

df['the_column']=df['the_column'].apply(ast.literal_eval)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...