我有一个带有“元数据”列的数据框,其数据为json。我需要创建一个新列,其中包含来自“区域”键的数据。
以下是样本数据集:
user_id metadata
1 {"ipapiBody":{"body":{"ip":"47","city":"Manteswar","region":"West Bengal"},"latlng":"POINT(23)"}}'
2 {"ipapiBody":{"body":{"ip":"11","city":"Delhi"},"latlng":"POINT(433)"}}'
3 {"ipapiBody":{"body":{"ip":"196","region":"Gurgaon"},"latlng":"POINT(88)"}}'
我需要输出为:
user_id region
1 West Bengal
2
3 Gurgaon
我当前的代码:
def my_dic(data):
bis = ast.literal_eval(data['metaData'])
m = bis.get("region")
return m
df['region'] = df.apply(my_dic, axis = 1)
错误:
('格式错误的节点或字符串:<_ast.Name对象位于0x7f39f4578048>', '发生在索引0')