Folha de dicas do Pandas para ciência de dados em Python

Folha de dicas do pandas

O que é a folha de dicas do Pandas?

A biblioteca Pandas tem muitas funções, mas algumas delas são confusas para algumas pessoas. Fornecemos aqui um recurso útil disponível chamado Python Folha de dicas do Pandas. Explica o básico do Pandas de maneira simples e concisa.

Quer você seja um novato ou tenha experiência com Pandas, esta folha de dicas pode servir como um guia de referência útil. Ele cobre uma variedade de tópicos, incluindo trabalhar com estruturas de dados Series e DataFrame, selecionar e ordenar dados e aplicar funções aos seus dados.

Em resumo, este Pandas Python Cheat Sheet é um bom recurso para quem deseja aprender mais sobre como usar Python para Ciência de Dados. É uma ferramenta de referência útil. Isso pode ajudá-lo a melhorar seu habilidades de análise de dados e trabalhe de forma mais eficiente com o Pandas.

👉 Baixe o PDF da folha de dicas aqui

Explicando funções importantes no Pandas:

Para começar a trabalhar com as funções do pandas, você precisa instalar e importar o pandas. Existem dois comandos para fazer isso:

Etapa 1) # Instale o Pandas

Pip instalar pandas

Etapa 2) # Importar Pandas

Importar pandas como pd

Agora você pode começar a trabalhar com as funções do Pandas. Trabalharemos para manipular, analisar e limpar os dados. Aqui estão algumas funções importantes dos pandas.

Estruturas de dados Pandas

Como já discutimos, o Pandas possui duas estruturas de dados chamadas Series e DataFrames. Ambos são arrays rotulados e podem conter qualquer tipo de dados. A única diferença é que Series é um array unidimensional e DataFrame é um array bidimensional.

1. Série

É uma matriz rotulada unidimensional. Ele pode conter qualquer tipo de dados.

s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])

2. Quadro de Dados

É uma matriz rotulada bidimensional. Ele pode conter qualquer tipo de dados e diferentes tamanhos de colunas.

data = {'RollNo' : [101, 102, 75, 99],
        'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
        'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()

Folha de dicas do pandas

Importando Dados

Os Pandas têm a capacidade de importar ou ler vários tipos de arquivos em seu Notebook.

Aqui estão alguns exemplos dados abaixo.

# Import a CSV file pd
pd.read_csv(filename)

# Import a TSV file
pd.read_table(filename)

# Import a Excel file pd
pd.read_excel(filename)

# Import a SQL table/database
pd.read_sql(query, connection_object)

# Import a JSON file
pd.read_json(json_string)

# Import a HTML file
pd.read_html(url)

# From clipboard to read_table()
pd.read_clipboard()

# From dict
pd.DataFrame(dict)

Seleção

Você pode selecionar elementos por sua localização ou índice. Você pode selecionar linhas, colunas e valores distintos usando essas técnicas.

1. Série

# Accessing one element from Series
s['D']

# Accessing all elements between two given indices
s['A':'C']

# Accessing all elements from starting till given index
s[:'C']

# Accessing all elements from given index till end
s['B':]

2. Quadro de Dados

# Accessing one column df
df['Name']

# Accessing rows from after given row
df[1:]

# Accessing till before given row
df[:1]

# Accessing rows between two given rows
df[1:2]

Seleção por indexação e configuração booleana

1. Por posição

df.iloc[0, 1]

df.iat[0, 1]

2. Por etiqueta

df.loc[[0],  ['Name']]

3. Por etiqueta/posição

df.loc[2] # Both are same
df.iloc[2]

4. Indexação Booleana

# Series s where value is > 1
s[(s > 0)]

# Series s where value is <-2 or >1
s[(s < -2) | ~(s > 1)]

# Use filter to adjust DataFrame
df[df['RollNo']>100]

# Set index a of Series s to 6
s['D'] = 10
s.head()

Limpeza de Dados

Para Python para fins de limpeza de dados, você pode executar as seguintes operações:

  • Renomeie colunas usando o método rename().
  • Atualize valores usando o método at[] ou iat[] para acessar e modificar elementos específicos.
  • Crie uma cópia de uma série ou quadro de dados usando o método copy().
  • Verifique se há valores NULL usando o método isnull() e elimine-os usando o método dropna().
  • Verifique se há valores duplicados usando o método duplicado(). Elimine-os usando o método drop_duplicates().
  • Substitua os valores NULL usando o método fill() por um valor especificado.
  • Substitua os valores usando o método replace().
  • Classifique os valores usando o método sort_values().
  • Classifique os valores usando o método rank().
# Renaming columns
df.columns = ['a','b','c']
df.head()

# Mass renaming of columns
df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'})

# Or use this edit in same DataFrame instead of in copy
df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True)
df.head()

# Counting duplicates in a column
df.duplicated(subset='Name')

# Removing entire row that has duplicate in given column
df.drop_duplicates(subset=['Name'])

# You can choose which one keep - by default is first
df.drop_duplicates(subset=['Name'], keep='last')

# Checks for Null Values
s.isnull()

# Checks for non-Null Values - reverse of isnull()
s.notnull()

# Checks for Null Values df
df.isnull()

# Checks for non-Null Values - reverse of isnull()
df.notnull()

# Drops all rows that contain null values
df.dropna()

# Drops all columns that contain null values
df.dropna(axis=1)

# Replaces all null values with 'Guru99'
df.fillna('Guru99')

# Replaces all null values with the mean
s.fillna(s.mean())

# Converts the datatype of the Series to float
s.astype(float)

# Replaces all values equal to 6 with 'Six'
s.replace(6,'Six')

# Replaces all 2 with 'Two' and 6 with 'Six'
s.replace([2,6],['Two','Six'])

# Drop from rows (axis=0)
s.drop(['B',  'D'])

# Drop from columns(axis=1)
df.drop('Name', axis=1)

# Sort by labels with axis
df.sort_index()

# Sort by values with axis
df.sort_values(by='RollNo')

# Ranking entries
df.rank()

# s1 is pointing to same Series as s
s1 = s

# s_copy of s, but not pointing same Series
s_copy = s.copy()

# df1 is pointing to same DataFrame as df
df1 = s

# df_copy of df, but not pointing same DataFrame
df_copy = df.copy()

Recuperando informações

Você pode executar estas operações para recuperar informações:

  • Use o atributo shape para obter o número de linhas e colunas.
  • Use o método head() ou tail() para obter as primeiras ou últimas linhas como amostra.
  • Use o método info(), description() ou dtypes para obter informações sobre o tipo de dados, contagem, média, desvio padrão, valores mínimo e máximo.
  • Use os métodos count(), min(), max(), sum(), mean() e median() para obter informações estatísticas específicas para valores.
  • Use o método loc[] para obter uma linha.
  • Use o método groupby() para aplicar a função GROUP BY para agrupar valores semelhantes em uma coluna de um DataFrame.

1. Informação básica

# Counting all elements in Series
len(s)

# Counting all elements in DataFrame
len(df)

# Prints number of rows and columns in dataframe
df.shape

# Prints first 10 rows by default, if no value set
df.head(10)

# Prints last 10 rows by default, if no value set
df.tail(10)

# For counting non-Null values column-wise
df.count()

# For range of index df
df.index

# For name of attributes/columns
df.columns

# Index, Data Type and Memory information
df.info()

# Datatypes of each column
df.dtypes

# Summary statistics for numerical columns
df.describe()

2. Resumo

# For adding all values column-wise
df.sum()

# For min column-wise
df.min()

# For max column-wise
df.max()

# For mean value in number column
df.mean()

# For median value in number column
df.median()

# Count non-Null values
s.count()

# Count non-Null values
df.count()

# Return Series of given column
df['Name'].tolist()

# Name of columns
df.columns.tolist()

# Creating subset
df[['Name', 'Course']]

# Return number of values in each group
df.groupby('Name').count()

Aplicando Funções

# Define function
f = lambda x: x*5

# Apply this function on given Series - For each value
s.apply(f)

# Apply this function on given DataFrame - For each value
df.apply(f)

1. Alinhamento interno de dados

# NA values for indices that don't overlap
s2 = pd.Series([8, -1, 4],  index=['A',  'C',  'D'])
s + s2

2. Aritmética Operações com métodos de preenchimento

# Fill values that don't overlap
s.add(s2, fill_value=0)

3. Filtrar, classificar e agrupar por

As funções a seguir podem ser usadas para filtrar, classificar e agrupar por série e dataframe.

# Filter rows where column is greater than 100
df[df['RollNo']>100]

# Filter rows where 70 < column < 101
df[(df['RollNo'] > 70) & (df['RollNo'] < 101)]

# Sorts values in ascending order
s.sort_values()

# Sorts values in descending order
s.sort_values(ascending=False)

# Sorts values by RollNo in ascending order
df.sort_values('RollNo')

# Sorts values by RollNo in descending order
df.sort_values('RollNo', ascending=False)

Exportando dados

O Pandas tem a capacidade de exportar ou gravar dados em vários formatos. Aqui estão alguns exemplos dados abaixo.

# Export as a CSV file df
df.to_csv(filename)

# Export as a Excel file df
df.to_excel(filename)

# Export as a SQL table df
df.to_sql(table_name, connection_object)

# Export as a JSON file
df.to_json(filename)

# Export as a HTML table
df.to_html(filename)

# Write to the clipboard
df.to_clipboard()

Conclusão da folha de dicas do Pandas:

Pandas é uma biblioteca de código aberto em Python para trabalhar com conjuntos de dados. Sua capacidade de analisar, limpar, explorar e manipular dados. Pandas é construído em cima do Numpy. É usado com outros programas como Matplotlib e scikit-learn. Abrange tópicos como estruturas de dados, seleção de dados, importação de dados, indexação booleana, eliminação de valores, classificação e limpeza de dados. Também preparamos o PDF da folha de dicas do pandas para o artigo. Pandas é uma biblioteca em Python e a ciência de dados usa essa biblioteca para trabalhar com dataframes e séries do pandas. Discutimos vários comandos do pandas nesta folha de dicas.

Colab de folha de dicas

Meu arquivo de exercícios do Colab para Pandas – Folha de referências do Pandas – Python para ciência de dados.ipynb