Este documento presenta cómo comenzar con Pandas. Pandas es una biblioteca de análisis de datos para Python, que puede manipular datos fácilmente y realizar análisis de datos.
Esta sección importa Pandas y NumPy de la siguiente manera:
In [1]: import numpy as np
In [2]: import pandas as pd
# generar objeto
Al generar una Serieabrir en ventana nueva con una lista de valores , Pandas genera automáticamente índices enteros por defecto:
In [3]: s = pd.Series([1, 3, 5, np.nan, 6, 8])
In [4]: s
Out[4]:
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
Genere un DataFrameabrir en una ventana nueva a partir de una matriz NumPy con índices y etiquetas de fecha y hora :
In [5]: dates = pd.date_range('20130101', periods=6)
In [6]: dates
Out[6]:
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')
In [7]: df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
In [8]: df
Out[8]:
A B C D
2013-01-01 0.469112 -0.282863 -1.509059 -1.135632
2013-01-02 1.212112 -0.173215 0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929 1.071804
2013-01-04 0.721555 -0.706771 -1.039575 0.271860
2013-01-05 -0.424972 0.567020 0.276232 -1.087401
2013-01-06 -0.673690 0.113648 -1.478427 0.524988
Genere un marco de datos con un objeto de diccionario de serie:
In [9]: df2 = pd.DataFrame({'A': 1.,
...: 'B': pd.Timestamp('20130102'),
...: 'C': pd.Series(1, index=list(range(4)), dtype='float32'),
...: 'D': np.array([3] * 4, dtype='int32'),
...: 'E': pd.Categorical(["test", "train", "test", "train"]),
...: 'F': 'foo'})
...:
In [10]: df2
Out[10]:
A B C D E F
0 1.0 2013-01-02 1.0 3 test foo
1 1.0 2013-01-02 1.0 3 train foo
2 1.0 2013-01-02 1.0 3 test foo
3 1.0 2013-01-02 1.0 3 train foo
Las columnas del DataFrame tienen diferentes ** tipos de datos abrir en nueva ventana **.
In [11]: df2.dtypes
Out[11]:
A float64
B datetime64[ns]
C float32
D int32
E category
F object
dtype: object
IPython admite el autocompletado de teclas de tabulación de nombres de columna y atributos públicos. Los siguientes son algunos de los atributos que se pueden completar automáticamente:
In [12]: df2.<TAB> # noqa: E225, E999
df2.A df2.bool
df2.abs df2.boxplot
df2.add df2.C
df2.add_prefix df2.clip
df2.add_suffix df2.clip_lower
df2.align df2.clip_upper
df2.all df2.columns
df2.any df2.combine
df2.append df2.combine_first
df2.apply df2.compound
df2.applymap df2.consolidate
df2.D
Las columnas A, B, C, D y E se autocompletan; por motivos de brevedad, aquí solo se muestran algunas de las propiedades.
# ver datos
El siguiente código muestra cómo ver los datos de cabeza y cola de DataFrame:
In [13]: df.head()
Out[13]:
A B C D
2013-01-01 0.469112 -0.282863 -1.509059 -1.135632
2013-01-02 1.212112 -0.173215 0.119209 -1.044236
2013-01-03 -0.861849 -2.104569 -0.494929 1.071804
2013-01-04 0.721555 -0.706771 -1.039575 0.271860
2013-01-05 -0.424972 0.567020 0.276232 -1.087401
In [14]: df.tail(3)
Out[14]:
A B C D
2013-01-04 0.721555 -0.706771 -1.039575 0.271860
2013-01-05 -0.424972 0.567020 0.276232 -1.087401
2013-01-06 -0.673690 0.113648 -1.478427 0.524988
Mostrar nombres de índices y columnas:
In [15]: df.index
Out[15]:
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')
In [16]: df.columns
Out[16]: Index(['A', 'B', 'C', 'D'], dtype='object')
DataFrame.to_numpy()open in new window genera un objeto NumPy de los datos subyacentes. Tenga en cuenta que cuando las columnas de DataFrameopen in new window consisten en varios tipos de datos, esta operación consume una gran cantidad de recursos del sistema, que también es la diferencia esencial entre Pandas y NumPy: las matrices NumPy tienen solo un tipo de datos y los tipos de datos de cada columna de DataFrame son diferentes . Al llamar a DataFrame.to_numpy() open in new window , Pandas busca tipos de datos NumPy que admitan todos los tipos de datos en DataFrame. Como otro tipo de datos object
, los valores en una columna de DataFrame se pueden convertir en objetos de Python.
Resumir
Con el DataFrame de Pandas, puede hacer lo siguiente: Cargar y procesar datos, incluidos datos en CSV, Excel, base de datos SQL, etc. varios formatos Cargue datos en bases de datos o aplicaciones en línea, genere datos en otros formatos, como tablas HTML.