Tengo una lista en Python. Necesito filtrar una columna sin usar Pandas. Intenté lo siguiente. Pero no funciona.
Datos:
Por ejemplo, haré algunos cálculos solo para País = 'Canadá'.
filtered = [x for x in data if data[0] == "Canada"]
Editada:
Originalmente, tengo un archivo csv. contiene datos de 1960 a 2017 para los países. Necesito calcular (para 'Suecia') el aumento porcentual anual en comparación con el año anterior y encontrar el año que tiene el aumento más alto en términos de porcentaje. Columnas como estas: País, 1960, 1961, 1962, ... hasta 2017.
Datos en Python: (después de dividir)
3 respuestas
Ok, parece que tus datos son solo una lista ininterrumpida. Si tiene razón casi todos los años entre 1960 y 2017, más la columna de la etiqueta, debe haber 59 entradas por fila.
Realmente sugiero que primero intente reformatear los datos en una lista de listas o algo similar, pero intente esto mientras tanto:
# Reformat the data a little
data = [i for s in data for i in s.split('\n')]
# Filter the data
row_len = 59
filtered = list([zip(data[1:row_len], data[i+1:i+row_len]) for i in range(len(data)) if data[i] == 'Sweden'][0])
Editar: Eso debería agrupar el año con los datos del país (Suecia en este caso).
¿Tratar?
filtered = [x for x in data if x == "Canada"]
Para datos anidados:
filtered = [x for x in data if x[0] == "Canada"]
¿Puede proporcionar la lista?
Por lo que ha proporcionado, pero parece que le falta un subíndice. probar: filtrado = [x para x en los datos si los datos [0] [0] == 'Canadá']
Esto supone que los encabezados de la columna h no forman parte de su lista. Puede si lo son, entonces usted diría que sus datos [1] [0] en lugar de datos [0] [0]
Preguntas relacionadas
Nuevas preguntas
python
Python es un lenguaje de programación multipropósito, de tipificación dinámica y de múltiples paradigmas. Está diseñado para ser rápido de aprender, comprender y usar, y hacer cumplir una sintaxis limpia y uniforme. Tenga en cuenta que Python 2 está oficialmente fuera de soporte a partir del 01-01-2020. Aún así, para preguntas de Python específicas de la versión, agregue la etiqueta [python-2.7] o [python-3.x]. Cuando utilice una variante de Python (por ejemplo, Jython, PyPy) o una biblioteca (por ejemplo, Pandas y NumPy), inclúyala en las etiquetas.