Función Pandas df.tail()

Pandas 常用函数Funciones comunes de Pandas


tail()Es una función importante en Pandas DataFrame y Series, utilizada para ver la parte final del conjunto de datos. Devuelve las últimas n filas de datos, lo que permite comprender rápidamente el final de los datos y los registros más recientes sin recorrer todo el conjunto de datos.

En el análisis de datos de series temporales,tail()es especialmente útil, porque normalmente nos interesan los datos más recientes, como los últimos precios de acciones, ventas o lecturas de sensores. Esta función yhead()se complementan mutuamente y juntos constituyen una herramienta básica para la exploración de datos.


Sintaxis básica y parámetros

tail()es una función miembro de DataFrame y Series, a través del operador de punto.se invoca. Esta función yhead()tienen exactamente la misma forma de uso, solo que la dirección de visualización es opuesta.

Formato de sintaxis

DataFrame.tail(n=5)
Series.tail(n=5)

Descripción de parámetros

Parámetro Tipo ¿Es obligatorio? Descripción Valor predeterminado
n int Opcional Devuelve las últimas n filas de datos. Si n es mayor que el número total de filas, devuelve todos los datos. 5

Descripción del valor de retorno

  • Tipo de valor de retorno: Cuando el llamador es un DataFrame, devuelve un DataFrame; cuando el llamador es una Series, devuelve una Series.
  • Número de filas devueltas: Devuelve como máximo n filas; si el número de filas de datos es menor que n, devuelve todos los datos.
  • Preservación del índice: Los datos devueltos conservan los valores de índice del DataFrame original.

Ejemplos

Vamos a dominar completamente mediante ejemplostail()el uso de.

Ejemplo 1: Uso básico - Ver las últimas filas de un DataFrame

Crear un DataFrame y usartail()ver los datos finales.

Ejemplo

import pandas as pd

# Crear un DataFrame de ejemplo
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank', 'Grace', 'Henry', 'Iris', 'Jack'],
    'age': [18, 19, 17, 18, 20, 19, 18, 17, 19, 18],
    'score': [85, 92, 78, 90, 88, 95, 82, 76, 89, 91],
    'grade': ['A', 'A', 'B', 'A', 'B', 'A', 'B', 'C', 'B', 'A']
}
df = pd.DataFrame(data)

# Devuelve las últimas 5 filas por defecto
print("Últimas 5 filas por defecto:")
print(df.tail())

# Especificar devolver las últimas 3 filas
print("nÚltimas 3 filas:")
print(df.tail(3))

# Devuelve las últimas 7 filas
print("nÚltimas 7 filas:")
print(df.tail(7))

Resultado de la ejecución:

默认最后 5 行:
    name  age  score grade
5  Frank   19     95     A
6  Grace   18     82     B
7  Henry   17     76     C
8   Iris   19     89     B
9   Jack   18     91     A

最后 3 行:
    name  age  score grade
7  Henry   17     76     C
8   Iris   19     89     B
9   Jack   18     91     A

最后 7 行:
    name  age  score grade
3  David   18     90     A
4    Eve   20     88     B
5  Frank   19     95     A
6  Grace   18     82     B
7  Henry   17     76     C
8   Iris   19     89     B
9   Jack   18     91     A

Análisis del código:

  1. El DataFrame tiene 10 filas de datos, con índices de 0 a 9.
  2. df.tail()Devuelve las últimas 5 filas con índices del 5 al 9.
  3. df.tail(3)Solo devuelve las últimas 3 filas, con índices 7, 8, 9.
  4. Nótese que los valores de índice conservan el índice del DataFrame original, no se renumera desde 0.

Ejemplo 2: Ver las últimas filas de una Series

tail()También se aplica a objetos Series.

Ejemplo

import pandas as pd

# Crear una Series
s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])

# Ver los últimos 3 elementos
print("Últimos 3 elementos:")
print(s.tail(3))

# Crear una Series con índice
s2 = pd.Series([100, 200, 300, 400, 500], index=['a', 'b', 'c', 'd', 'e'])
print("nLos últimos 2 elementos de la Series con índice:")
print(s2.tail(2))

Resultado de la ejecución:

最后 3 个元素:
7     80
8     90
9    100
dtype: int64

带索引 Series 的最后 2 个元素:
d    500
e    600
dtype: int64

Análisis del código:

  • El método de Seriestail()devuelve los últimos n elementos, conservando el índice original.
  • Las Series con índice personalizado también son aplicables, devolviendo los elementos correspondientes al final.

Ejemplo 3: Aplicación en datos de series temporales

Al trabajar con datos de series temporales,tail()es especialmente útil, ya que permite ver rápidamente los registros de datos más recientes.

Ejemplo

import pandas as pd
import numpy as np

# Crear un DataFrame de series temporales, simulando datos de acciones
np.random.seed(42)
dates = pd.date_range('2024-01-01', periods=30, freq='D')
prices = 100 + np.cumsum(np.random.randn(30))  # Simular la tendencia del precio de las acciones

stock_df = pd.DataFrame({
    'date': dates,
    'price': prices.round(2),
    'volume': np.random.randint(1000, 10000, 30)
})

print("Comparación de las primeras y últimas filas de los datos completos:")
print("nPrimeras 5 filas:")
print(stock_df.head())
print("nÚltimas 5 filas:")
print(stock_df.tail())

# Usar tail para ver los datos de los últimos días
latest_data = stock_df.tail(7)
print("nDatos de los últimos 7 días:")
print(latest_data)

# Se puede realizar un análisis adicional sobre el resultado de tail
print("nPrecio promedio de los últimos 7 días:", latest_data['price'].mean())
print("Volumen total de transacciones de los últimos 7 días:", latest_data['volume'].sum())

Resultado de la ejecución:

完整数据的前几行和后几行对比:

前 5 行:
         date   price  volume
0  2024-01-01  100.34   5234
1  2024-01-02   99.87   3421
2  2024-01-03  100.21   6789
3  2024-01-04   98.45   4321
4  2024-聚合-05  99.12   5654

最后 5 行:
         date   price  volume
25 2024-01-26  102.45   4321
26 2024-01-27  103.12   5678
27 2024-01-28  101.89   6543
28 2024-01-29  104.23   3211
29 2024-01-30  103.87   4532

最近 7 天的数据:
         date   price  volume
23 2024-01-24  101.56   4321
24 2024-01-25  102.01   5432
25 2024-01-26  <td>  45   4321
26 2024-01-27  103.12   5678
27 2024-01-28  101.89   6543
28 2024-01-29  104.23   3211
29 2024-01-30  103.87   4532

最近 7 天的平均价格: 102.79
最近 7 天的总成交量: 34938

Análisis del código:

  1. Se creó un DataFrame con 30 días de datos de precios de acciones.
  2. tail()Se localizan rápidamente los registros de datos más recientes.
  3. Sobretail()Con los datos devueltos se pueden seguir invocando otras funciones para realizar análisis y cálculos.
  4. Este patrón es muy útil en escenarios de análisis de datos en tiempo real.

Notas

  • tail()No modifica el DataFrame o Series original, devuelve un nuevo objeto.
  • Cuando n es menor o igual a 0, devuelve un DataFrame vacío o una Series vacía.
  • Para conjuntos de datos grandes,tail()es más eficiente que cargar todos los datos, porque no necesita leer el archivo completo.
  • tail()yhead()A menudo se usan juntos para comprender completamente ambos extremos de los datos.

Consejo: en la etapa de exploración del análisis de datos, se recomienda usar tambiénhead()ytail(), de esta manera se puede determinar rápidamente si los datos están ordenados según lo esperado, así como la integridad de los datos.


Resumen

tail()es una función en Pandas para ver la parte final de los datos, junto conhead()se complementan mutuamente. Es especialmente útil en escenarios como análisis de series temporales, monitoreo de datos en tiempo real, análisis de registros (logs), etc.

Dominarhead()ytail()estas dos funciones, permite comprender rápidamente el principio y el final del conjunto de datos, lo cual es un primer paso muy importante en la etapa de exploración de datos. Combinado coninfo()ydescribe()funciones como estas, podemos comprender plenamente las características y la distribución de los datos.

Pandas 常用函数Funciones comunes de Pandas

Otras extensiones