首页 > 解决方案 > 数据框有一列作为字典。如何将其转换为列?

问题描述

下面的 Df 具有包含名称、性别和 net_salary 的字典的列。字典有很多列和它们对应的值。我需要以列形式转换该字典。

 index    columns
 9        {"name": "namo     ", "gender": "MALE", "net_salary":...
 10       {"name": "pappu", "gender": "MALE", "net_salary":...
 11       {"name": "Deepak", "gender": "MALE", "net_sala...
 12       {"name": "Arun", "gender": "MALE", "net_salary...
                                                       {}

我想以这种形式输出。

 index    name    gender       net_salary
 9        namo     MALE          151515
 10       pappu    MALE          151454
 11       Deepak   MALE          42512
 12       Arun     MALE          51654

标签: pythonpandasdictionarydata-science

解决方案


您需要首先对包含 dicts 的列进行切片,然后为这些 dicts 创建一个新的数据框。

columnsList = list(dframe["columns"])
sub_dframe = pd.DataFrame(columnsList)
result = pd.concat([dframe["index"],sub_dframe], axis=1)

推荐阅读