[Python Fennel Bean Series] PANDAS Obtém o número de linhas no DataFrame

[Python Fennel Bean Series] PANDAS Obtém o número de linhas no DataFrame

Ao programar em Python, às vezes é interessante usar métodos diferentes para atingir o mesmo objetivo. Isso me lembra Kong Yiji de Lu Xun. Kong Yiji pesquisou bastante sobre as quatro maneiras de escrever a palavra erva-doce para feijão de erva-doce. Não me atrevo a me comparar com Kong Yiji, então aqui coleciono alguns grãos de erva-doce Python para a diversão de todos os programadores.

Quantos dados existem no total? Este é provavelmente o conteúdo mais básico do trabalho de análise de dados.
Aqui, vamos falar sobre como obter o número de linhas do DataFrame no Pandas.
Primeiro prepare um DataFrame para teste. Este DataFrame possui 3 colunas denominadas a, b e c:

>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame({
    
    'a':[None,2,3], 'b':[4,5,6], 'c':[7,8,9]})
>>> df
     a  b  c
0  NaN  4  7
1  2.0  5  8
2  3.0  6  9

Uma contagem de grãos de erva-doce:

Existe uma instrução SQL SELECT count (*) FROM some_tablee
o DataFrame também possui uma countfunção que pode ser usada para contagem. O exemplo é o seguinte:

>>> df['a'].count()
2

Espere, como pode ser 2? O resultado deve ser três! Acontece countque será NaNremovido e está presente na coluna a NaN, então o resultado está incorreto. Vejamos a coluna b e estará correto:

>>> df['b'].count()
3

No entanto, não podemos garantir que toda vez que encontrarmos a coluna b, não haverá valor nulo, então nós mesmos criamos uma coluna:

>>> df['aa'] = 1
>>> df
     a  b  c  aa
0  NaN  4  7   1
1  2.0  5  8   1
2  3.0  6  9   1
>>> df['aa'].count()
3

Bem, até agora, missão cumprida, mas... um pouco feia.

Formato de feijão de erva-doce:

Após um estudo minucioso, descobri que o DataFrame tem uma função de forma. Esta é uma função fantástica, um exemplo é o seguinte:

>>> df.shape
(3, 3)

Então, você pode obter o resultado assim:

>>> df.shape[0]
3

É incrível, é incrível.
Mas a forma recebe dois números e só precisamos de um número. Não é um desperdício aqui?

Feijão de erva-doce três len:

Python possui um len integrado e, de modo geral, as coisas integradas são sempre mais avançadas. Vamos tentar:

>>> len(df)
3

Então, o que está por trás dessa lente? Confira no IPython:

In [1]: df.__len__??
Signature: df.__len__() -> int
Source:
    def __len__(self) -> int:
        """
        Returns length of info axis, but here we use the index.
        """
        return len(self.index)

Qual é a forma acima?

In [2]: df.shape??
Type:        property
Source:
# df.shape.fget
@property
def shape(self) -> Tuple[int, int]:
    """
    Return a tuple representing the dimensionality of the DataFrame.
    ......
    """
    return len(self.index), len(self.columns)

Índice de quatro grãos de erva-doce:

Como pode ser visto nos dois códigos-fonte acima, devemos usar len assim:

>>> len(df.index)
3

Feijão de erva-doce cinco e mais três:

Fora das montanhas e das montanhas verdes, sempre há feijão de erva-doce em Python. Mais três:

df.index.size
len(df.axes[0])
df.pipe(len)

Acho que você gosta

Origin blog.csdn.net/mouse2018/article/details/113619187
Recomendado
Clasificación