Python: dimensión del marco de datos

82

Nuevo en Python.

En R, puede obtener la dimensión de una matriz usando dim (...). ¿Cuál es la función correspondiente en Python Pandas para su marco de datos?

user1911092
fuente
2
Para obtener un resumen detallado de todas las formas de obtener información de dimensiones en DataFrames y Series, consulte esta respuesta a continuación
Ted Petrou

Respuestas:

144

df.shape, dónde dfestá su DataFrame.

BrenBarn
fuente
23

Resumen de todas las formas de obtener información sobre las dimensiones de DataFrame o Series

Hay varias formas de obtener información sobre los atributos de su DataFrame o Serie.

Crear series y marcos de datos de muestra

df = pd.DataFrame({'a':[5, 2, np.nan], 'b':[ 9, 2, 4]})
df

     a  b
0  5.0  9
1  2.0  2
2  NaN  4

s = df['a']
s

0    5.0
1    2.0
2    NaN
Name: a, dtype: float64

shape Atributo

El shapeatributo devuelve una tupla de dos elementos del número de filas y el número de columnas en el DataFrame. Para una serie, devuelve una tupla de un elemento.

df.shape
(3, 2)

s.shape
(3,)

len función

Para obtener el número de filas de un DataFrame u obtener la longitud de una Serie, use la lenfunción. Se devolverá un número entero.

len(df)
3

len(s)
3

size atributo

Para obtener el número total de elementos en DataFrame o Series, use el sizeatributo. Para DataFrames, este es el producto del número de filas y el número de columnas. Para una serie, esto será equivalente a la lenfunción:

df.size
6

s.size
3

ndim atributo

El ndimatributo devuelve el número de dimensiones de su DataFrame o Serie. Siempre será 2 para DataFrames y 1 para Series:

df.ndim
2

s.ndim
1

El countmétodo complicado

El countmétodo se puede usar para devolver el número de valores no perdidos para cada columna / fila del DataFrame. Esto puede resultar muy confuso, porque la mayoría de la gente normalmente piensa en contar solo como la longitud de cada fila, lo cual no es así. Cuando se llama en un DataFrame, se devuelve una serie con los nombres de columna en el índice y el número de valores no perdidos como valores.

df.count() # by default, get the count of each column

a    2
b    3
dtype: int64


df.count(axis='columns') # change direction to get count of each row

0    2
1    2
2    1
dtype: int64

Para una serie, solo hay un eje para el cálculo y, por lo tanto, solo devuelve un escalar:

s.count()
2

Utilice el infométodo para recuperar metadatos

El infométodo devuelve el número de valores no perdidos y tipos de datos de cada columna.

df.info ()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
a    2 non-null float64
b    3 non-null int64
dtypes: float64(1), int64(1)
memory usage: 128.0 bytes
Ted Petrou
fuente