将'object'类型的dataframe列转换为类型列表

时间:2016-08-31 05:44:23

标签: python pandas dataframe

尝试将object的{​​{1}}类型列转换为实际需要的dataframe列表。

dicts

是否可以将print df['A'].dtype object print df['A'][:1] [{"at": "con", "c": 47}, {"at": "cli", "z": 47}, {"at": "cks", "d": 5}] 作为df['A']的列表检索为dicts?任何帮助高度赞赏。

1 个答案:

答案 0 :(得分:2)

使用json

import json

df.A.apply(json.loads)

0    [{u'c': 47, u'at': u'con'}, {u'z': 47, u'at': ...
1    [{u'c': 47, u'at': u'con'}, {u'z': 47, u'at': ...
2    [{u'c': 47, u'at': u'con'}, {u'z': 47, u'at': ...
3    [{u'c': 47, u'at': u'con'}, {u'z': 47, u'at': ...
4    [{u'c': 47, u'at': u'con'}, {u'z': 47, u'at': ...
5    [{u'c': 47, u'at': u'con'}, {u'z': 47, u'at': ...
Name: A, dtype: object

设置

df = pd.DataFrame([
        '[{"at": "con", "c": 47}, {"at": "cli", "z": 47}, {"at": "cks", "d": 5}]',
        '[{"at": "con", "c": 47}, {"at": "cli", "z": 47}, {"at": "cks", "d": 5}]',
        '[{"at": "con", "c": 47}, {"at": "cli", "z": 47}, {"at": "cks", "d": 5}]',
        '[{"at": "con", "c": 47}, {"at": "cli", "z": 47}, {"at": "cks", "d": 5}]',
        '[{"at": "con", "c": 47}, {"at": "cli", "z": 47}, {"at": "cks", "d": 5}]',
        '[{"at": "con", "c": 47}, {"at": "cli", "z": 47}, {"at": "cks", "d": 5}]',
    ],
    columns=['A'])