简体   繁体   中英

Extract information from a list of dictionaries

I have a list of dictionaries:

movies['genres'].head()

where each line looks like:

   0     [{'id': 16, 'name': 'Animation'}, {'id': 35, 'name': 'Comedy'}, {'id': 10751, 'name': 'Family'}]
1    [{'id': 12, 'name': 'Adventure'}, {'id': 14, 'name': 'Fantasy'}, {'id': 10751, 'name': 'Family'}]
2                                     [{'id': 10749, 'name': 'Romance'}, {'id': 35, 'name': 'Comedy'}]
3        [{'id': 35, 'name': 'Comedy'}, {'id': 18, 'name': 'Drama'}, {'id': 10749, 'name': 'Romance'}]
4                                                                       [{'id': 35, 'name': 'Comedy'}]
Name: genres, dtype: object  

     

I would like to save it in a data frame where one column is 'id' and the rows are the id values and another column 'name' where the rows are the name values. I tried with:

pd.DataFrame(movies['genres'])

However when I ran it I obtained:

        genres
0   [{'id': 16, 'name': 'Animation'}, {'id': 35, 'name': 'Comedy'}, {'id': 10751, 'name': 'Family'}]
1   [{'id': 12, 'name': 'Adventure'}, {'id': 14, 'name': 'Fantasy'}, {'id': 10751, 'name': 'Family'}]
2   [{'id': 10749, 'name': 'Romance'}, {'id': 35, 'name': 'Comedy'}]

Could you help me? Regards

You should use the command .from_dict() as described here

df = pd.DataFrame.from_dict(movies["genres"])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM