Pandas análise de dados Python
pythondataanalysis
📊 Criação & Leitura
| Importar pandas | import pandas as pd |
| Criar DataFrame | df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) |
| Criar Series | s = pd.Series([1, 2, 3, 4, 5]) |
| Ler CSV | df = pd.read_csv('file.csv') |
| Ler Excel | df = pd.read_excel('file.xlsx', sheet_name='Sheet1') |
| Ler JSON | df = pd.read_json('file.json') |
| Ler SQL | df = pd.read_sql('SELECT * FROM table', conn) |
| Ler parquet | df = pd.read_parquet('file.parquet') |
🔍 Exploração de Dados
| Ver primeiras linhas | df.head() |
| Ver últimas linhas | df.tail() |
| Info do DataFrame | df.info() |
| Estatísticas descritivas | df.describe() |
| Shape (linhas, colunas) | df.shape |
| Nomes das colunas | df.columns |
| Índice | df.index |
| Valores únicos | df['column'].unique() |
| Contar valores únicos | df['column'].value_counts() |
✂️ Seleção & Filtros
| Selecionar coluna | df['column'] |
| Selecionar múltiplas colunas | df[['col1', 'col2']] |
| Selecionar por posição | df.iloc[0:5, 1:3] |
| Selecionar por label | df.loc[0:5, 'col1':'col3'] |
| Filtrar por condição | df[df['age'] > 30] |
| Múltiplas condições | df[(df['age'] > 30) & (df['city'] == 'SP')] |
| Filtrar valores nulos | df.dropna() |
| Preencher valores nulos | df.fillna(0) |
🔧 Manipulação de Dados
| Adicionar coluna | df['new_col'] = df['col1'] + df['col2'] |
| Renomear colunas | df.rename(columns={'old': 'new'}) |
| Remover coluna | df.drop('column', axis=1) |
| Ordenar valores | df.sort_values('column') |
| Agrupar e agregar | df.groupby('category')['value'].sum() |
| Pivot table | pd.pivot_table(df, values='value', index='row', columns='col') |
| Merge/Join | pd.merge(df1, df2, on='key', how='left') |
| Concatenar | pd.concat([df1, df2], axis=0) |
📈 Análise & Estatísticas
| Média por grupo | df.groupby('group')['value'].mean() |
| Correlação | df.corr() |
| Rolling statistics | df['value'].rolling(window=7).mean() |
| Percentis | df['value'].quantile([0.25, 0.5, 0.75]) |
| Value counts normalizado | df['category'].value_counts(normalize=True) |
| Crosstab | pd.crosstab(df['col1'], df['col2']) |
| Apply function | df['new_col'] = df['col'].apply(lambda x: x**2) |
💾 Export & I/O
| Salvar CSV | df.to_csv('file.csv', index=False) |
| Salvar Excel | df.to_excel('file.xlsx', sheet_name='Sheet1') |
| Salvar JSON | df.to_json('file.json', orient='records') |
| Salvar Parquet | df.to_parquet('file.parquet') |
| Salvar SQL | df.to_sql('table_name', conn, if_exists='replace') |
| Pickle (serialização) | df.to_pickle('file.pkl') |
| Ler Pickle | df = pd.read_pickle('file.pkl') |