【发布时间】:2018-06-06 10:29:20
【问题描述】:
我将一个 .csv 文件加载到 df 中,并且其中一行包含一个字典列表,如下所示。
data = [{"character": "Jake Sully", "gender": 2,}, {"character": "Neytiri", "gender": 1},
{"character": "Dr. Grace Augustine","gender": 1},
{"character": "Col. Quaritch", "gender": 2]
当然,在加载之后,它会被读取为字符串。因此,我将列中的每一行都转换为 json,这样可以很容易地根据键名提取值。然后我需要像这样创建一个单独的 df。
df = {'character': ['Jake Sully','Neytiri', 'Dr. Grace Augustine', 'Col.Quaritch'],
'gender': [2, 1, 1, 2]}
这是我的代码,但我无法正确获得所需的 df 输出。
df = pd.DataFrame() #create new df
keys = ['character','gender'] #keys to extract values from json
lst=[]
for val in data: #to iterate over data series
for object in json.loads(val):
for key in keys:
lst.append(object[key])
df = pd.concat([df,pd.DataFrame(lst,columns=[key])], axis=1)
谁能告诉我我做错了什么?
【问题讨论】: