es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener los elementos de texto de los diccionarios en Python.

Estoy intentando obtener contenido de una columna de pandas. El dataframe de pandas es df y tiene una columna llamada entities. Esta columna parece contener diccionarios. Uno de ellos es ‘hashtags’, que contiene otro diccionario ‘text’. Puede haber múltiples elementos ‘text’ en una sola fila. Quiero obtener los valores del campo de texto. El ejemplo a continuación puede ayudar a entender.
Será útil si puedo obtener orientación sobre cómo obtener los valores de hashtags.

df[‘entities’]

salida =>

0 {‘hashtags’: [], ‘symbols’: [], ‘user_mentions’: [], ‘urls’: [{‘url’: ”, ‘expanded_url’: ‘https://twitter.com/i/web/status/1460865425911205891’, ‘display_url’: ‘twitter.com/i/web/status/1…’, ‘indices’: [117, 140]}]}
1 {‘hashtags’: [{‘text’: ‘carbon’, ‘indices’: [17, 24]}, {‘text’: ‘nature’, ‘indices’: [48, 55]}], ‘symbols’: [], ‘user_mentions’: [], ‘urls’: [{‘url’: ”, ‘expanded_url’: ‘https://rpujolviven.blogspot.com/2012/10/infinite-growth.html’, ‘display_url’:…
2 {‘hashtags’: [{‘text’: ‘Lincoln’, ‘indices’: [69, 77]}], ‘symbols’: [], ‘user_mentions’: [], ‘urls’: [{‘url’: ”, ‘expanded_url’: ‘https://thelincolnite.co.uk/2021/11/professor-duncan-french-the-juggernaut-of-climate-politics-rolls-on/’, ‘display_url’: …
3 {‘hashtags’: [{‘text’: ‘CBDC’, ‘indices’: [107, 112]}], ‘symbols’: [], ‘user_mentions’: [], ‘urls’: [{‘url’: , ‘expanded_url’: ‘https://twitter.com/i/web/status/1460865388699344900’, ‘display_url’: ‘twitter.com/i/web/status/1…’, ‘indices’: [115, 138]}]}

La salida esperada:

0 []
1 [‘carbon’, ‘nature’]
2 [‘Lincoln’]
3 [‘CBDC’]

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar el siguiente código para obtener los valores del campo texto:

    df['entities'].apply(lambda x: [i['text'] for i in x.get('hashtags', [])])
    

Comments are closed.