【发布时间】:2019-10-20 15:28:05
【问题描述】:
使用 Python,我正在尝试访问具有字典列表的 CSV 文件中的字符串格式的字段。
一行train['list_of_production_companies']
"[{'name': 'Lions Gate Films', 'id': 35}, {'name': 'Vertigo Entertainment', 'id': 829}, {'name': 'Gotham Group', 'id': 3672}, {'name': 'Tailor Made', 'id': 24557}, {'name': 'Mango Farms', 'id': 24558}, {'name': 'Quick Six Entertainment', 'id': 24561}]"
train['list_of_production_companies'] = train['production_companies'].apply(lambda x: [i['name'] for i in x] if i[name] != {} else [])
NameError Traceback(最近调用 最后)在() ----> 1 train['list_of_production_companies'] = train['production_companies'].apply(lambda x: [i.name for i in x] if i.name != {} else [])
C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\series.py 在 应用(自我,函数,convert_dtype,args,**kwds)3190
否则:3191 个值 = self.astype(object).values -> 3192 mapped = lib.map_infer(values, f, convert=convert_dtype) 3193 3194 if len(mapped) and isinstance(mapped[0], 系列):pandas/_libs/src\inference.pyx in pandas._libs.lib.map_infer()
在 (x) ----> 1 train['list_of_production_companies'] = train['production_companies'].apply(lambda x: [i.name for i in x] if i.name != {} else [])
NameError: name 'i' is not defined
【问题讨论】:
-
这是数据框的一部分吗?