Aqui está uma visão geral rápida de cada método e o que ele faz: ","read_csv()",": Carrega dados de um arquivo CSV em um DataFrame do Pandas.","head()",": Exibe as primeiras linhas do DataFrame.","info()",": Fornece um resumo conciso do DataFrame, incluindo tipos de colunas e valores ausentes.","describe()",": Gera estatísticas descritivas para colunas numéricas.","isnull()",": Identifica dados ausentes no DataFrame.","dropna()",": Remove linhas ou colunas com dados ausentes.","fillna()",": Substitui os dados ausentes pelos valores especificados.","groupby()",": Agrupa dados com base em uma ou mais colunas e aplica funções de agregação.","sort_values()",": Classifica o DataFrame por uma ou mais colunas.","aplicar()",": Aplica funções personalizadas a linhas ou colunas do DataFrame.","Pré-requisitos"," Primeiro, verifique se o Python está instalado em seu computador. Se não estiver, você pode baixá-lo neste link.
Depois que o Python estiver configurado, confirme se a biblioteca Pandas está instalada. Se não estiver, você pode adicioná-la facilmente usando o seguinte comando: ","pip install pandas"," Usaremos o seguinte conjunto de dados fictícios de imóveis para nossos exemplos: ","ID da propriedade","Localização","Quartos","Banheiros","Preço","SquareFootage","Data da listagem","101","Nova York","3","2","750000","1800","2023-05-15","102","São Francisco","1","850000","1400","2023-06-01","103","Los Angeles","4","2500","2023-04-10","104","Chicago","650000","1700","105","Miami","5","1200000","3500","2023-03-22","106","Houston","450000","2000","2023-07-01","As 10 principais funções e métodos do Pandas","1. read_csv(): Carrega dados de um arquivo CSV em um DataFrame do Pandas."," A primeira etapa do uso do pandas é carregar seus dados para prepará-los para processamento ou análise. Um dos métodos mais comuns de importação de dados para um DataFrame do pandas é a função read_csv(). ","Exemplo de código:","importar pandas como pd\n# Carregar o conjunto de dados em um DataFrame do Pandas\nfile_path = \"real_estate_listings.csv\" # Substitua pelo caminho real do arquivo\n\n# Criar o DataFrame\ndf = pd.read_csv(file_path)","como pd","pandas.read_csv()","pd.read_csv()"," Primeiro, começamos importando a biblioteca pandas. Usando "," é uma convenção comum entre os desenvolvedores para simplificar o código. Por exemplo, em vez de escrever ","podemos simplesmente usar ","tornando o código mais conciso e fácil de ler. ","read_csv"," Em seguida, especifique o caminho para o arquivo CSV que você deseja carregar em um Pandas DataFrame. Em seguida, crie uma variável e use a função "," para carregar o arquivo no DataFrame. ","Principais parâmetros:"," Agora vamos explorar alguns parâmetros importantes que seguem esse método: ","delimitador:"," Especifique o delimitador usado no arquivo CSV (por exemplo, ,, ;, \\t).","df = pd.read_csv(file_path, delimiter=',')","índice_col",": Em nossa tabela, cada listagem de propriedades é identificada por um ID encontrado no campo \"","\". Para garantir que o pandas use essa coluna como o identificador exclusivo de cada propriedade, podemos defini-la explicitamente como a coluna ID. Caso contrário, o pandas gerará e atribuirá automaticamente seus próprios valores de ID a cada listagem.","df = pd.read_csv(file_path, index_col='PropertyID')","usecols",": Se o seu arquivo CSV contiver várias colunas, mas você precisar apenas de algumas, o pandas permite que você faça isso facilmente usando um parâmetro específico.","df = pd.read_csv(file_path, usecols=['Location', 'Price', 'Bedrooms'])","2. head() e tail(): Inspecionar dados","cauda()"," Agora que os dados estão carregados no DataFrame, podemos começar a explorá-los. Para isso, o Pandas fornece dois métodos muito úteis: "," e ",". Esses métodos são essenciais para inspecionar rapidamente as primeiras ou últimas linhas do seu conjunto de dados. ","head(): Esse método mostra as primeiras 5 linhas do conjunto de dados por padrão. É particularmente útil para verificar se os dados foram carregados corretamente e para verificar sua estrutura.","tail(): Esse método funciona de forma semelhante a head(), mas exibe as últimas linhas. É útil para examinar o final do conjunto de dados, especialmente ao verificar se os dados estão completos ou se os registros finais têm valores ausentes.","# Exibir as primeiras 5 linhas\nprint(df.head())\n# Exibir as últimas 3 linhas\nprint(df.tail(3))\n"," Saída de ",": ","3. info() - Compreender a estrutura do DataFrame"," A função info() fornece um resumo conciso do DataFrame. Ela inclui detalhes como: ","O número de linhas e colunas.","Nomes de colunas e seus tipos de dados.","A contagem de valores não nulos em cada coluna."," Esse método é útil para entender rapidamente a estrutura do seu conjunto de dados e identificar problemas como valores ausentes ou tipos de dados incorretos. ","# Obter um resumo conciso do DataFrame\nprint(df.info())"," O código acima produz o seguinte resultado: ","<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 6 entries, 0 to 5\nData columns (total 7 columns):\n# Column Non-Null Count Dtype \n--- ------ -------------- ----- \n0 PropertyID 6 non-null int64 \n1 Location 6 non-null object\n2 Bedrooms 6 non-null int64 \n3 Bathrooms 6 non-null int64 \n4 Price 5 non-null float64\n5 SquareFootage 6 non-null int64 \n6 ListingDate 5 non-null object\ndtypes: float64(1), int64(4), object(2)\nmemory usage: 464.0+ bytes\n","4. describe(): Gera estatísticas resumidas"," O "," fornece um resumo rápido das principais métricas estatísticas, como ","média",", ","desvio padrão","percentis","e muito mais. Por padrão, "," funciona com dados numéricos, mas também pode lidar com dados categóricos, oferecendo insights personalizados com base no tipo de dados. ",": Uma lista de números entre 0 e 1, especificando quais percentis devem ser retornados. O padrão é None, que retorna os percentis 25, 50 e 75. Leia mais ","aqui",".","incluir",": Uma lista de tipos de dados a serem incluídos no resumo. Você pode especificar tipos de dados como int, float, object (para strings), etc. O padrão é None, o que significa que todos os tipos numéricos estão incluídos.","excluir","Nenhum",": Uma lista de tipos de dados a serem excluídos do resumo. Esse parâmetro também é "," por padrão, o que significa que nenhum tipo é excluído.","imprimir(df.describe())"," O resultado do código é o seguinte: "," PropertyID Localização Quartos ... Preço SquareFootage ListingDate\ncontagem 6.000000 6 6.000000... 5.000000e+00 6.000000 5\nunique NaN 6 NaN ... NaN NaN 5\ntop NaN Nova York NaN ... NaN NaN 2023-05-15\nfreq NaN 1 NaN ... NaN NaN 1\nmédia 103,500000 NaN 3,500000... 7,800000e+05 2150,000000 NaN\nstd 1,870829 NaN 1,048809... 2,774887e+05 755,645419 NaN\nmin 101,000000 NaN 2,000000... 4.500000e+05 1400.000000 NaN\n25% 102,250000 NaN 3,000000... 6,500000e+05 1725,000000 NaN\n50% 103,500000 NaN 3,500000... 7,500000e+05 1900,000000 NaN\n75% 104,750000 NaN 4,000000... 8.500000e+05 2375,000000 NaN\nmáximo 106,000000 NaN 5,000000... 1.200000e+06 3500,000000 NaN\n","Explicação de cada estatística","contagem = 6","Exemplo: "," para ","indicando que todas as linhas têm dados válidos.","Contagem",": O número de entradas não ausentes para cada coluna.","média = 3,5","indicando uma média de ","3,5 dormitórios"," por propriedade.","Média",": O valor médio da coluna.","std = 1,048809","ou seja, há uma variação moderada no número de quartos.","Padrão",": O desvio padrão, que mostra a dispersão dos valores em relação à média.","min = 2","max = 5","Mínimo/Máximo",": O menor e o maior valor.","25%",": O valor abaixo do qual 25% dos dados se enquadram (primeiro quartil).","50%",": O valor mediano.","75%",": O valor abaixo do qual 75% dos dados se enquadram (terceiro quartil).","25%, 50%, 75% (quartis)",": Representam a propagação dos dados:","5. isnull(): Identificar dados ausentes","Verdadeiro","NaN","Falso","sum()"," ajuda a identificar dados ausentes em um DataFrame. Ela retorna um DataFrame com o mesmo formato do original, com "," onde faltam dados "," e "," de outra forma. É comumente usado com outras funções como "," para contar valores ausentes em colunas ou linhas. ","# Identificar valoresausentes\nprint(df.isnull())\n# Contar os valores ausentes para cada coluna\nprint(df.isnull().sum())\n","df.isnull()"," Saída: "," ID da propriedade Localização do imóvel Quartos Banheiros Preço Metragem quadrada Data da listagem\n0 Falso Falso Falso False Falso Falso Falso\n1 Falso Falso Falso Falso Falso Falso Falso\n2 Falso Falso Falso Falso Verdadeiro Falso Falso\n3 Falso Falso Falso Falso Falso Falso Verdadeiro\n4 Falso Falso Falso Falso Falso Falso Falso\n5 Falso Falso Falso Falso Falso Falso Falso\n","df.isnull().sum()","PropertyID 0\nLocalização 0\nQuartos 0\nBanheiros 0\nPreço 1\nSquareFootage 0\nListingDate 1\ndtype: int64\n","6. dropna(): Remove dados ausentes"," A função remove ","linhas"," ou ","colunas"," com dados ausentes "," do DataFrame. Por padrão, ele remove as linhas com valores ausentes. Você pode personalizar seu comportamento para remover somente colunas ou para remover linhas/colunas em que todos ou um subconjunto específico de valores estejam ausentes ","# Eliminar as linhas com valores ausentes \ndf_dropped_rows = df.dropna()\nprint(df_dropped_rows)\n\n# Eliminar colunas com valores ausentes \ndf_dropped_columns = df.dropna(axis=1)\nprint(df_dropped_columns)\n"," Esta é a aparência do DataFrame depois de remover todos os "," contendo "," valores: "," Aqui está o quadro de dados com "," valores removidos. ","7. fillna(): Substituir dados ausentes"," substitui os dados ausentes "," com valores especificados. O pandas "," trata e remove com eficiência os valores nulos de um DataFrame, enquanto o método "," O método oferece uma solução flexível para a substituição de "," com um valor especificado de sua escolha. Esse método oferece uma abordagem flexível para o gerenciamento de dados ausentes, permitindo que você preencha as lacunas usando um valor fixo, o ","mediana","modo","ou outras estatísticas calculadas. ","# Preencher os valores ausentes na coluna \"Price\" com o preço médio df['Price'] = \ndf['Price'].fillna(df['Price'].mean()) \nprint(df)"," A saída do código demonstra que o "," foi substituído com sucesso pelo preço médio. ","780000"," também contém uma coluna "," valor. Em vez de realizar um cálculo, podemos simplesmente usar um espaço reservado, como \"","desconhecido",". Veja como fazer isso; ","# Preencher os valores ausentes na coluna \"ListingDate\" com um espaço reservado\ndf['ListingDate'] = df['ListingDate'].fillna('Unknown')\nprint(df)\n"," O Dataframe agora tem a seguinte aparência: ","Desconhecido","8. groupby(): Agrupar e agregar dados"," A função groupby() do Pandas é uma ferramenta versátil e poderosa para dividir um DataFrame em grupos com base em uma ou mais colunas, permitindo análise e agregação eficientes de dados.
Ela opera com base em um princípio de dividir-aplicar-combinar:
primeiro, os dados são divididos em grupos;
depois, uma função específica é aplicada a cada grupo;
finalmente, os resultados são combinados em um novo DataFrame.
Essa abordagem otimizada simplifica tarefas complexas de manipulação de dados e aumenta a eficiência analítica. "," Por exemplo, você pode calcular o preço médio das propriedades por local ou contar o número de listagens por categoria de quarto. ","# Agrupar por \"Localização\" e calcular o preço médio\navg_price_by_location = df.groupby('Location')['Price'].mean()\nprint(avg_price_by_location)\n# Agrupar por \"Quartos\" e calcular a metragem quadrada total\ntotal_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()\nprint(total_sqft_by_bedrooms)\n# Agrupar por várias colunas e calcular a contagem\ncount_by_location_bedrooms = df.groupby(['Location', 'Bedrooms']).size()\nprint(count_by_location_bedrooms)\n","Preço médio por localidade:","Localização\nChicago 650000.0\nHouston 450000.0\nLos Angeles NaN\nMiami 1200000.0\nNova York 750000.0\nSão Francisco 850000.0\nNome: Price, dtype: float64\n","Metragem quadrada total por dormitórios:","Quartos\n2 1400\n3 3500\n4 4500\n5 3500\n","Contagem por localização e dormitórios:","Localização Quartos\nChicago 3 1\nHouston 4 1\nLos Angeles 4 1\nMiami 5 1\nNova York 3 1\nSão Francisco 2 1\ndtype: int64\n","9. sort_values(): Classificar dados"," A função sort_values() é usada para classificar seu DataFrame por uma ou mais colunas, em ordem crescente ou decrescente. A classificação é essencial para classificar dados, identificar extremos (por exemplo, as propriedades de preço mais alto) ou simplesmente organizar o conjunto de dados para facilitar a leitura. ","# Ordenar por \"Price\" em ordem decrescente\ndf_sorted_by_price = df.sort_values(by='Price', ascending=False)\nprint(df_sorted_by_price)\n# Ordenar por \"Location\" em ordem crescente\ndf_sorted_by_location = df.sort_values(by='Location')\nprint(df_sorted_by_location)\n# Ordenar por várias colunas: primeiro por 'Bedrooms' (crescente) e depois por 'Price' (decrescente)\ndf_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms', 'Price'], ascending=[True, False])\nprint(df_sorted_by_bedrooms_price)\n","Classificar por preço (decrescente):"," PropertyID Localização Quartos ... Preço SquareFootage ListingDate\n4 105 Miami 5... 1200000.0 3500 2023-03-22\n1 102 São Francisco 2... 850000.0 1400 2023-06-01\n0 101 Nova York 3... 750000.0 1800 2023-05-15\n3 104 Chicago 3... 650000.0 1700 NaN\n5 106 Houston 4... 450000.0 2000 2023-07-01\n2 103 Los Angeles 4... NaN 2500 2023-04-10","Classificar por local (crescente):","[6 linhas x 7 colunas]\n PropertyID Localização Quartos ... Preço SquareFootage ListingDate\n3 104 Chicago 3 . .. 650000.0 1700 NaN\n5 106 Houston 4 . .. 450000.0 2000 2023-07-01\n2 103 Los Angeles 4 . .. NaN 2500 2023-04-10\n4 105 Miami 5 . .. 1200000.0 3500 2023-03-22\n0 101 Nova York 3 . .. 750000.0 1800 2023-05-15\n1 102 São Francisco 2 . .. 850000.0 1400 2023-06-01\n","Classifique por quartos (crescente) e preço (decrescente):"," PropertyID Localização Quartos ... Preço SquareFootage ListingDate\n1 102 São Francisco 2... 850000.0 1400 2023-06-01\n0 101 Nova York 3... 750000.0 1800 2023-05-15\n3 104 Chicago 3... 650000.0 1700 NaN\n5 106 Houston 4... 450000.0 2000 2023-07-01\n2 103 Los Angeles 4... NaN 2500 2023-04-10\n4 105 Miami 5... 1200000.0 3500 2023-03-22\n","10. apply(): Aplicar funções personalizadas aos dados"," A função apply() permite que você aplique funções personalizadas a linhas ou colunas em um DataFrame. É um método poderoso para realizar transformações, cálculos ou operações condicionais que vão além das funções integradas do Pandas. "," Vejamos um exemplo em que pretendemos criar uma nova coluna para calcular o preço por pé quadrado. ","# Definir uma função personalizada para calcular o preço por pé quadrado\ndef price_per_sqft(price, sqft):\n return price / sqft if sqft != 0 else 0\n\n# Aplicar a função personalizada para criar uma nova coluna\ndf['PricePerSqFt'] = df.apply(lambda row: price_per_sqft(row['Price'], row['SquareFootage']), axis=1)\nprint(df)\n","Aqui está o resultado do código acima:"," PropertyID Localização Quartos ... SquareFootage ListingDate PricePerSqFt\n0 101 New York 3... 1800 2023-05-15 416.666667\n1 102 São Francisco 2... 1400 2023-06-01 607.142857\n2 103 Los Angeles 4... 2500 2023-04-10 NaN\n3 104 Chicago 3... 1700 NaN 382.352941\n4 105 Miami 5... 3500 2023-03-22 342.857143\n5 106 Houston 4... 2000 2023-07-01 225.000000\n"," Outro exemplo poderia ser a conversão de nomes de locais em letras maiúsculas; ","# Aplicar uma transformação para colocar todos os nomes de locais em letras maiúsculas\ndf['Location'] = df['Location'].apply(lambda x: x.upper())\nprint(df)\n","Veja como isso se parece:"," PropertyID Localização Quartos ... Preço SquareFootage ListingDate\n0 101 NEW YORK 3... 750000.0 1800 2023-05-15\n1 102 SÃO FRANCISCO 2... 850000.0 1400 2023-06-01\n2 103 LOS ANGELES 4... NaN 2500 2023-04-10\n3 104 CHICAGO 3... 650000.0 1700 NaN\n4 105 MIAMI 5... 1200000.0 3500 2023-03-22\n5 106 HOUSTON 4... 450000.0 2000 2023-07-01","Conclusão"," Neste guia, exploramos 10 funções essenciais do Pandas para análise de dados, desde o carregamento e a inspeção de dados com "," para limpá-lo e transformá-lo usando métodos como ","e ",". Essas funções formam a base de qualquer fluxo de trabalho de análise de dados, permitindo que você limpe, manipule e resuma conjuntos de dados com eficiência. Ao dominá-las, você estará preparado para lidar com os desafios de dados do mundo real com confiança. Comece a praticar hoje mesmo e explore como essas ferramentas podem simplificar suas tarefas de análise! ","Por: ProxyScrape","Digite para pesquisar aqui...","Publicações recentes","How to Handle Pagination in Web Scraping using Python","Exporting Web Scraped Data to CSV, JSON, and Databases ","Introdução à análise da Web em Python com Parsel","Web Scraping com a linguagem de programação PHP","light proxyscrape logotipo","https://proxyscrape.com/static/light_text_logo.svg","Procurando ajuda com nosso proxies ou
quer ajudar? Aqui estão suas opções:","Crunchbase","Sobre nós","Obrigado a todos pelo incrível apoio!","Links rápidos","Programa de afiliados","Premium","ProxyScrape teste premium","Verificador on-line Proxy","Proxy tipos","Proxy países","Proxy casos de uso","Importante","Cookie política","Isenção de responsabilidade","Política de privacidade","Termos e condições","Mídia social","Facebook","LinkedIn","Twitter","Quora","Telegrama","Discórdia","\n © Copyright 2025 - Thib BV | Brugstraat 18 | 2812 Mechelen | Bélgica | VAT BE 0749 716 760\n"]}
O Pandas é a biblioteca ideal para analistas de dados e programadores Python que se aventuram no mundo da manipulação e análise de dados. Sua sintaxe intuitiva e estruturas de dados poderosas tornam o manuseio de vastos conjuntos de dados não apenas gerenciável, mas também eficiente. Quer você esteja importando arquivos CSV, limpando conjuntos de dados desorganizados ou analisando tendências de dados, o Pandas tem as ferramentas de que você precisa.
Se você está apenas começando sua jornada de aprendizado do Pandas, esta postagem apresentará 10 funções e métodos essenciais que todo iniciante deve master. Essas funções o ajudarão a carregar, inspecionar, limpar e analisar dados com facilidade.
Aqui está uma visão geral rápida de cada método e o que ele faz:
read_csv()
: Carrega dados de um arquivo CSV em um DataFrame do Pandas.head()
: Exibe as primeiras linhas do DataFrame.info()
: Fornece um resumo conciso do DataFrame, incluindo tipos de colunas e valores ausentes.describe()
: Gera estatísticas descritivas para colunas numéricas.isnull()
: Identifica dados ausentes no DataFrame.dropna()
: Remove linhas ou colunas com dados ausentes.fillna()
: Substitui os dados ausentes pelos valores especificados.groupby()
: Agrupa dados com base em uma ou mais colunas e aplica funções de agregação.sort_values()
: Classifica o DataFrame por uma ou mais colunas.aplicar()
: Aplica funções personalizadas a linhas ou colunas do DataFrame. Primeiro, verifique se o Python está instalado em seu computador. Se não estiver, você pode baixá-lo neste link.
Depois que o Python estiver configurado, confirme se a biblioteca Pandas está instalada. Se não estiver, você pode adicioná-la facilmente usando o seguinte comando:
pip install pandas
Usaremos o seguinte conjunto de dados fictícios de imóveis para nossos exemplos:
ID da propriedade | Localização | Quartos | Banheiros | Preço | SquareFootage | Data da listagem |
101 | Nova York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | São Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 2500 | 2023-04-10 | |
104 | Chicago | 3 | 2 | 650000 | 1700 | |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
A primeira etapa do uso do pandas é carregar seus dados para prepará-los para processamento ou análise. Um dos métodos mais comuns de importação de dados para um DataFrame do pandas é a função read_csv().
importar pandas como pd
# Carregar o conjunto de dados em um DataFrame do Pandas
file_path = "real_estate_listings.csv" # Substitua pelo caminho real do arquivo
# Criar o DataFrame
df = pd.read_csv(file_path)
Primeiro, começamos importando a biblioteca pandas. Usando como pd
é uma convenção comum entre os desenvolvedores para simplificar o código. Por exemplo, em vez de escrever pandas.read_csv()
podemos simplesmente usar pd.read_csv()
tornando o código mais conciso e fácil de ler.
Em seguida, especifique o caminho para o arquivo CSV que você deseja carregar em um Pandas DataFrame. Em seguida, crie uma variável e use a função read_csv
para carregar o arquivo no DataFrame.
Agora vamos explorar alguns parâmetros importantes que seguem esse método:
delimitador:
Especifique o delimitador usado no arquivo CSV (por exemplo, ,, ;, \t).df = pd.read_csv(file_path, delimiter=',')
índice_col
: Em nossa tabela, cada listagem de propriedades é identificada por um ID encontrado no campo "ID da propriedade". Para garantir que o pandas use essa coluna como o identificador exclusivo de cada propriedade, podemos defini-la explicitamente como a coluna ID. Caso contrário, o pandas gerará e atribuirá automaticamente seus próprios valores de ID a cada listagem.df = pd.read_csv(file_path, index_col='PropertyID')
usecols
: Se o seu arquivo CSV contiver várias colunas, mas você precisar apenas de algumas, o pandas permite que você faça isso facilmente usando um parâmetro específico.df = pd.read_csv(file_path, usecols=['Location', 'Price', 'Bedrooms'])
Agora que os dados estão carregados no DataFrame, podemos começar a explorá-los. Para isso, o Pandas fornece dois métodos muito úteis: head()
e cauda()
. Esses métodos são essenciais para inspecionar rapidamente as primeiras ou últimas linhas do seu conjunto de dados.
# Exibir as primeiras 5 linhas
print(df.head())
# Exibir as últimas 3 linhas
print(df.tail(3))
Saída de head()
:
ID da propriedade | Localização | Quartos | Banheiros | Preço | SquareFootage | Data da listagem |
101 | Nova York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | São Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 2500 | 2023-04-10 | |
104 | Chicago | 3 | 2 | 650000 | 1700 | |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
Saída de cauda()
:
ID da propriedade | Localização | Quartos | Banheiros | Preço | SquareFootage | Data da listagem |
104 | Chicago | 3 | 2 | 650000 | 1700 | |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
A função info() fornece um resumo conciso do DataFrame. Ela inclui detalhes como:
Esse método é útil para entender rapidamente a estrutura do seu conjunto de dados e identificar problemas como valores ausentes ou tipos de dados incorretos.
# Obter um resumo conciso do DataFrame
print(df.info())
O código acima produz o seguinte resultado:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PropertyID 6 non-null int64
1 Location 6 non-null object
2 Bedrooms 6 non-null int64
3 Bathrooms 6 non-null int64
4 Price 5 non-null float64
5 SquareFootage 6 non-null int64
6 ListingDate 5 non-null object
dtypes: float64(1), int64(4), object(2)
memory usage: 464.0+ bytes
O describe() fornece um resumo rápido das principais métricas estatísticas, como média, desvio padrão, percentise muito mais. Por padrão, describe()
funciona com dados numéricos, mas também pode lidar com dados categóricos, oferecendo insights personalizados com base no tipo de dados.
percentis
: Uma lista de números entre 0 e 1, especificando quais percentis devem ser retornados. O padrão é None, que retorna os percentis 25, 50 e 75. Leia mais aqui.incluir
: Uma lista de tipos de dados a serem incluídos no resumo. Você pode especificar tipos de dados como int, float, object (para strings), etc. O padrão é None, o que significa que todos os tipos numéricos estão incluídos.excluir
: Uma lista de tipos de dados a serem excluídos do resumo. Esse parâmetro também é Nenhum
por padrão, o que significa que nenhum tipo é excluído.imprimir(df.describe())
O resultado do código é o seguinte:
PropertyID Localização Quartos ... Preço SquareFootage ListingDate
contagem 6.000000 6 6.000000... 5.000000e+00 6.000000 5
unique NaN 6 NaN ... NaN NaN 5
top NaN Nova York NaN ... NaN NaN 2023-05-15
freq NaN 1 NaN ... NaN NaN 1
média 103,500000 NaN 3,500000... 7,800000e+05 2150,000000 NaN
std 1,870829 NaN 1,048809... 2,774887e+05 755,645419 NaN
min 101,000000 NaN 2,000000... 4.500000e+05 1400.000000 NaN
25% 102,250000 NaN 3,000000... 6,500000e+05 1725,000000 NaN
50% 103,500000 NaN 3,500000... 7,500000e+05 1900,000000 NaN
75% 104,750000 NaN 4,000000... 8.500000e+05 2375,000000 NaN
máximo 106,000000 NaN 5,000000... 1.200000e+06 3500,000000 NaN
contagem = 6
para Quartosindicando que todas as linhas têm dados válidos.média = 3,5
para Quartosindicando uma média de 3,5 dormitórios por propriedade.std = 1,048809
para Quartosou seja, há uma variação moderada no número de quartos.min = 2
e max = 5
para Quartos.25%
: O valor abaixo do qual 25% dos dados se enquadram (primeiro quartil).50%
: O valor mediano.75%
: O valor abaixo do qual 75% dos dados se enquadram (terceiro quartil). O isnull() ajuda a identificar dados ausentes em um DataFrame. Ela retorna um DataFrame com o mesmo formato do original, com Verdadeiro
onde faltam dados NaN
e Falso
de outra forma. É comumente usado com outras funções como sum()
para contar valores ausentes em colunas ou linhas.
# Identificar valoresausentes
print(df.isnull())
# Contar os valores ausentes para cada coluna
print(df.isnull().sum())
df.isnull()
Saída:
ID da propriedade Localização do imóvel Quartos Banheiros Preço Metragem quadrada Data da listagem
0 Falso Falso Falso False Falso Falso Falso
1 Falso Falso Falso Falso Falso Falso Falso
2 Falso Falso Falso Falso Verdadeiro Falso Falso
3 Falso Falso Falso Falso Falso Falso Verdadeiro
4 Falso Falso Falso Falso Falso Falso Falso
5 Falso Falso Falso Falso Falso Falso Falso
df.isnull().sum()
Saída:
PropertyID 0
Localização 0
Quartos 0
Banheiros 0
Preço 1
SquareFootage 0
ListingDate 1
dtype: int64
O dropna() A função remove linhas ou colunas com dados ausentes NaN
do DataFrame. Por padrão, ele remove as linhas com valores ausentes. Você pode personalizar seu comportamento para remover somente colunas ou para remover linhas/colunas em que todos ou um subconjunto específico de valores estejam ausentes
# Eliminar as linhas com valores ausentes
df_dropped_rows = df.dropna()
print(df_dropped_rows)
# Eliminar colunas com valores ausentes
df_dropped_columns = df.dropna(axis=1)
print(df_dropped_columns)
Esta é a aparência do DataFrame depois de remover todos os linhas contendo NaN
valores:
ID da propriedade | Localização | Quartos | Banheiros | Preço | SquareFootage | Data da listagem |
101 | Nova York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | São Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Aqui está o quadro de dados com colunas contendo NaN
valores removidos.
ID da propriedade | Localização | Quartos | Banheiros | SquareFootage |
101 | Nova York | 3 | 2 | 1800 |
102 | São Francisco | 2 | 1 | 1400 |
103 | Los Angeles | 4 | 3 | 2500 |
104 | Chicago | 3 | 2 | 1700 |
105 | Miami | 5 | 4 | 3500 |
106 | Houston | 4 | 3 | 2000 |
O fillna() substitui os dados ausentes NaN
com valores especificados. O pandas dropna()
trata e remove com eficiência os valores nulos de um DataFrame, enquanto o método fillna()
O método oferece uma solução flexível para a substituição de NaN
com um valor especificado de sua escolha. Esse método oferece uma abordagem flexível para o gerenciamento de dados ausentes, permitindo que você preencha as lacunas usando um valor fixo, o média, mediana, modoou outras estatísticas calculadas.
# Preencher os valores ausentes na coluna "Price" com o preço médio df['Price'] =
df['Price'].fillna(df['Price'].mean())
print(df)
A saída do código demonstra que o NaN
foi substituído com sucesso pelo preço médio.
ID da propriedade | Localização | Quartos | Banheiros | Preço | SquareFootage | Data da listagem |
101 | Nova York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | São Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | Chicago | 3 | 2 | 650000 | 1700 | NaN |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
O Data da listagem também contém uma coluna NaN
valor. Em vez de realizar um cálculo, podemos simplesmente usar um espaço reservado, como "desconhecido. Veja como fazer isso;
# Preencher os valores ausentes na coluna "ListingDate" com um espaço reservado
df['ListingDate'] = df['ListingDate'].fillna('Unknown')
print(df)
O Dataframe agora tem a seguinte aparência:
ID da propriedade | Localização | Quartos | Banheiros | Preço | SquareFootage | Data da listagem |
101 | Nova York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | São Francisco | 2 | 1 | NaN | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | Chicago | 3 | 2 | 650000 | 1700 | Desconhecido |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
A função groupby() do Pandas é uma ferramenta versátil e poderosa para dividir um DataFrame em grupos com base em uma ou mais colunas, permitindo análise e agregação eficientes de dados.
Ela opera com base em um princípio de dividir-aplicar-combinar:
primeiro, os dados são divididos em grupos;
depois, uma função específica é aplicada a cada grupo;
finalmente, os resultados são combinados em um novo DataFrame.
Essa abordagem otimizada simplifica tarefas complexas de manipulação de dados e aumenta a eficiência analítica.
Por exemplo, você pode calcular o preço médio das propriedades por local ou contar o número de listagens por categoria de quarto.
# Agrupar por "Localização" e calcular o preço médio
avg_price_by_location = df.groupby('Location')['Price'].mean()
print(avg_price_by_location)
# Agrupar por "Quartos" e calcular a metragem quadrada total
total_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()
print(total_sqft_by_bedrooms)
# Agrupar por várias colunas e calcular a contagem
count_by_location_bedrooms = df.groupby(['Location', 'Bedrooms']).size()
print(count_by_location_bedrooms)
Preço médio por localidade:
Localização
Chicago 650000.0
Houston 450000.0
Los Angeles NaN
Miami 1200000.0
Nova York 750000.0
São Francisco 850000.0
Nome: Price, dtype: float64
Metragem quadrada total por dormitórios:
Quartos
2 1400
3 3500
4 4500
5 3500
Contagem por localização e dormitórios:
Localização Quartos
Chicago 3 1
Houston 4 1
Los Angeles 4 1
Miami 5 1
Nova York 3 1
São Francisco 2 1
dtype: int64
A função sort_values() é usada para classificar seu DataFrame por uma ou mais colunas, em ordem crescente ou decrescente. A classificação é essencial para classificar dados, identificar extremos (por exemplo, as propriedades de preço mais alto) ou simplesmente organizar o conjunto de dados para facilitar a leitura.
# Ordenar por "Price" em ordem decrescente
df_sorted_by_price = df.sort_values(by='Price', ascending=False)
print(df_sorted_by_price)
# Ordenar por "Location" em ordem crescente
df_sorted_by_location = df.sort_values(by='Location')
print(df_sorted_by_location)
# Ordenar por várias colunas: primeiro por 'Bedrooms' (crescente) e depois por 'Price' (decrescente)
df_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms', 'Price'], ascending=[True, False])
print(df_sorted_by_bedrooms_price)
Classificar por preço (decrescente):
PropertyID Localização Quartos ... Preço SquareFootage ListingDate
4 105 Miami 5... 1200000.0 3500 2023-03-22
1 102 São Francisco 2... 850000.0 1400 2023-06-01
0 101 Nova York 3... 750000.0 1800 2023-05-15
3 104 Chicago 3... 650000.0 1700 NaN
5 106 Houston 4... 450000.0 2000 2023-07-01
2 103 Los Angeles 4... NaN 2500 2023-04-10
Classificar por local (crescente):
[6 linhas x 7 colunas]
PropertyID Localização Quartos ... Preço SquareFootage ListingDate
3 104 Chicago 3 . .. 650000.0 1700 NaN
5 106 Houston 4 . .. 450000.0 2000 2023-07-01
2 103 Los Angeles 4 . .. NaN 2500 2023-04-10
4 105 Miami 5 . .. 1200000.0 3500 2023-03-22
0 101 Nova York 3 . .. 750000.0 1800 2023-05-15
1 102 São Francisco 2 . .. 850000.0 1400 2023-06-01
Classifique por quartos (crescente) e preço (decrescente):
PropertyID Localização Quartos ... Preço SquareFootage ListingDate
1 102 São Francisco 2... 850000.0 1400 2023-06-01
0 101 Nova York 3... 750000.0 1800 2023-05-15
3 104 Chicago 3... 650000.0 1700 NaN
5 106 Houston 4... 450000.0 2000 2023-07-01
2 103 Los Angeles 4... NaN 2500 2023-04-10
4 105 Miami 5... 1200000.0 3500 2023-03-22
A função apply() permite que você aplique funções personalizadas a linhas ou colunas em um DataFrame. É um método poderoso para realizar transformações, cálculos ou operações condicionais que vão além das funções integradas do Pandas.
Vejamos um exemplo em que pretendemos criar uma nova coluna para calcular o preço por pé quadrado.
# Definir uma função personalizada para calcular o preço por pé quadrado
def price_per_sqft(price, sqft):
return price / sqft if sqft != 0 else 0
# Aplicar a função personalizada para criar uma nova coluna
df['PricePerSqFt'] = df.apply(lambda row: price_per_sqft(row['Price'], row['SquareFootage']), axis=1)
print(df)
Aqui está o resultado do código acima:
PropertyID Localização Quartos ... SquareFootage ListingDate PricePerSqFt
0 101 New York 3... 1800 2023-05-15 416.666667
1 102 São Francisco 2... 1400 2023-06-01 607.142857
2 103 Los Angeles 4... 2500 2023-04-10 NaN
3 104 Chicago 3... 1700 NaN 382.352941
4 105 Miami 5... 3500 2023-03-22 342.857143
5 106 Houston 4... 2000 2023-07-01 225.000000
Outro exemplo poderia ser a conversão de nomes de locais em letras maiúsculas;
# Aplicar uma transformação para colocar todos os nomes de locais em letras maiúsculas
df['Location'] = df['Location'].apply(lambda x: x.upper())
print(df)
Veja como isso se parece:
PropertyID Localização Quartos ... Preço SquareFootage ListingDate
0 101 NEW YORK 3... 750000.0 1800 2023-05-15
1 102 SÃO FRANCISCO 2... 850000.0 1400 2023-06-01
2 103 LOS ANGELES 4... NaN 2500 2023-04-10
3 104 CHICAGO 3... 650000.0 1700 NaN
4 105 MIAMI 5... 1200000.0 3500 2023-03-22
5 106 HOUSTON 4... 450000.0 2000 2023-07-01
Neste guia, exploramos 10 funções essenciais do Pandas para análise de dados, desde o carregamento e a inspeção de dados com
e read_csv()
para limpá-lo e transformá-lo usando métodos como info()
, isnull()
e fillna()
. Essas funções formam a base de qualquer fluxo de trabalho de análise de dados, permitindo que você limpe, manipule e resuma conjuntos de dados com eficiência. Ao dominá-las, você estará preparado para lidar com os desafios de dados do mundo real com confiança. Comece a praticar hoje mesmo e explore como essas ferramentas podem simplificar suas tarefas de análise! aplicar()