访问数据框中的列表元素
Access list element inside dataframe
我有一个数据框 (df),其中包含一个名为 venue.cateogries 的列,其中填充了如下所示的信息:
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Theater',
'pluralName': 'Theaters',
'primary': True,
'shortName': 'Theater'}]
数据框中大约有 100 行,我正在尝试遍历它并在每一行中获取 'pluralName' 的值。
这是我为获取它而编写的循环
category_names = df['venue.categories'].values.tolist()
names = []
for x in category_names:
n = category_names[x][0]['pluralName']
names.append(n)
这给我一个类型错误:列表索引必须是整数或切片,而不是列表
不需要 .values.tolist()
,试试这个:
names = []
for x in df['venue.categories']:
n = x[0]['pluralName']
names.append(n)
除了额外的方括号,你的对象是一个字典,可以被x['dict_entry_name']
调用。在这种情况下,x[0]
去掉方括号,['pluralName']
选择条目。
示例:
ind=[0,1,2]
venue =[
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Theater',
'pluralName': 'Theaters',
'primary': True,
'shortName': 'Theater'}],
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Mall',
'pluralName': 'Malls',
'primary': True,
'shortName': 'Mall'}],
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Auditorium',
'pluralName': 'Auditoriums',
'primary': True,
'shortName': 'Auditorium'}]
]
df= pd.DataFrame({'col1':ind, 'venue.catagories':venue})
names=[]
for x in df['venue.catagories']:
n = x[0]['pluralName']
names.append(n)
输出:
['Theaters', 'Malls', 'Auditoriums']
我有一个数据框 (df),其中包含一个名为 venue.cateogries 的列,其中填充了如下所示的信息:
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Theater',
'pluralName': 'Theaters',
'primary': True,
'shortName': 'Theater'}]
数据框中大约有 100 行,我正在尝试遍历它并在每一行中获取 'pluralName' 的值。
这是我为获取它而编写的循环
category_names = df['venue.categories'].values.tolist()
names = []
for x in category_names:
n = category_names[x][0]['pluralName']
names.append(n)
这给我一个类型错误:列表索引必须是整数或切片,而不是列表
不需要 .values.tolist()
,试试这个:
names = []
for x in df['venue.categories']:
n = x[0]['pluralName']
names.append(n)
除了额外的方括号,你的对象是一个字典,可以被x['dict_entry_name']
调用。在这种情况下,x[0]
去掉方括号,['pluralName']
选择条目。
示例:
ind=[0,1,2]
venue =[
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Theater',
'pluralName': 'Theaters',
'primary': True,
'shortName': 'Theater'}],
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Mall',
'pluralName': 'Malls',
'primary': True,
'shortName': 'Mall'}],
[{'icon': {'prefix': 'https://ss3.4sqi.net/img/categories_v2/arts_entertainment/performingarts_theater_',
'suffix': '.png'},
'id': '4bf58dd8d48988d137941735',
'name': 'Auditorium',
'pluralName': 'Auditoriums',
'primary': True,
'shortName': 'Auditorium'}]
]
df= pd.DataFrame({'col1':ind, 'venue.catagories':venue})
names=[]
for x in df['venue.catagories']:
n = x[0]['pluralName']
names.append(n)
输出:
['Theaters', 'Malls', 'Auditoriums']