我在Python datafram的列中有一个字典

2024-05-19 15:40:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我在列dataframe中有一个字典,我需要从中得到一个值

    title   tracklist
0   Life    [{'duration': '', 'position': '1', 'type_': 't...
1   Vuelve  [{'duration': '3:07', 'position': '1', 'type_'...
2   MTV Unplugged   [{'duration': '4:38', 'position': '1', 'type_'...
3   Ricky Martin    [{'duration': '4:03', 'position': '1', 'type_'...
4   Me Amaras   [{'duration': '3:30', 'position': '1', 'type_'...
5   A Medio Vivir   [{'duration': '5:30', 'position': '1', 'type_'...
6   Sound Loaded    [{'duration': '4:42', 'position': '1', 'type_'...
7   Ricky Martin    [{'duration': '4:13', 'position': 'A1', 'type_...
8   Musica + Alma + Sexo    [{'extraartists': [{'join': '', 'name': 'Rober...
9   Live Blanco Y Negro Tour    [{'extraartists': [{'join': '', 'name': 'David...
10  Almas Del Silencio  [{'duration': '3:43', 'position': '1', 'type_'...
11  A Quien Quiera Escuchar [{'duration': '4:00', 'position': '1', 'type_'...
12  Evita (New Broadway Cast Recording) [{'duration': '', 'position': '1-1'

,'类型\':

我需要从tracklist列中提取持续时间,怎么做


Tags: namedataframe字典titletypepositionmartinduration
2条回答

首先,我们将定义一个函数,从列表中包含的字典中返回持续时间值

def get_duration(row):
    return row[0]['duration']

然后使用map方法将此函数应用于列的每个元素

df['tracklist'].map(get_duration)

假设你想要生活标题的类型

life_row = df.loc[df['Title']=='Life']

这将以数据帧格式获得title=life的行

life_row['tracklist'][0]['type_']

这将得到类型字段。我们需要按[0]索引它,因为它是嵌套在列表中的字典

相关问题 更多 >