将每个json项转换为dataframe列中的json对象

kiayqfof  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(375)

我有一个Pandas数据框,有以下4列

ID  Name     Date      MetaData
1    abc     5/4/2021   "{'IsAdult': 1,'IsMale': 1,'IsFemale': 0,'IsManager': 0}"
2    xyz     5/4/2021   "{'IsAdult': 1,'IsMale': 1,'IsFemale': 0,'IsManager': 0}"

我想将每个项的最后一列转换为json,这样最后一列metedata看起来像这样,其中所有值都是静态的,只有updatecount是实际列值,日期是当前日期。
我是python的初学者,有没有关于如何实现这一点的帮助

{
    "IsAdult": {
        "USERCREATOR": -36969,
        "USERMODIFIER": -36969,
        "CREATIONDATE": "2021-05-01 00:00:00.000000",
        "LASTMODIF": "2021-05-01 00:00:00.000000",
        "ISACTIVE": 1,
        "COMMENTS": "",
        "GROUPNAME": "",
        "UPDATECOUNT": 1,
        "ISCOMMENTPUBLISHED": 0
    },
    "IsMale": {
        "USERCREATOR": -36969,
        "USERMODIFIER": -36969,
        "CREATIONDATE": "2021-05-01 00:00:00.000000",
        "LASTMODIF": "2021-05-01 00:00:00.000000",
        "ISACTIVE": 1,
        "COMMENTS": "",
        "GROUPNAME": "",
        "UPDATECOUNT": 1,
        "ISCOMMENTPUBLISHED": 0
    },
    "IsFemale": {
        "USERCREATOR": -36969,
        "USERMODIFIER": -36969,
        "CREATIONDATE": "2021-05-01 00:00:00.000000",
        "LASTMODIF": "2021-05-01 00:00:00.000000",
        "ISACTIVE": 1,
        "COMMENTS": "",
        "GROUPNAME": "",
        "UPDATECOUNT": 0,
        "ISCOMMENTPUBLISHED": 0
    },
    "IsManager": {
        "USERCREATOR": -36969,
        "USERMODIFIER": -36969,
        "CREATIONDATE": "2021-05-01 00:00:00.000000",
        "LASTMODIF": "2021-05-01 00:00:00.000000",
        "ISACTIVE": 1,
        "COMMENTS": "",
        "GROUPNAME": "",
        "UPDATECOUNT": 0,
        "ISCOMMENTPUBLISHED": 0
    }
}
cbeh67ev

cbeh67ev1#

更改此元数据的一种方法是使用 .apply.map 用于pd Dataframe 的函数。
您可以定义一个函数,该函数接受原始元数据作为输入,可能还包含一个id。伪代码:

def afunc(metadata, id):

  # Alter metadata
  # Change dates if provide a single metadata
  UPDATECOUNT = id % 2 or something that changes update count

  return new_meta_data

那么按照https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.dataframe.apply.html 文档或.map上的其他文档。实际上,您可以在数据集的每一行上应用该函数。
萨尔塔克贾因

相关问题