<jupyter_start><jupyter_text>Part 01 - Pandas Library Basics<jupyter_code>df = pd.read_csv("/content/drive/MyDrive/Colab Notebooks/Banco Carrefour/datasets/Gapminder.csv",error_bad_lines=False, sep=";")
df.head()
df = df.rename(columns={"country":"Pais", "continent": "continente", "year":"Ano", "lifeExp":"Expectativa de Vida", "pop":"Pop Total", "gdpPercap": "PIB"})
df.head(15)
df.shape
df.columns
df.dtypes
df.tail(15)
df.describe()
df["continente"].unique()
Oceania = df.loc[df["continente"] == "Oceania"]
Oceania.head()
Oceania["continente"].unique()
df.groupby("continente")["Pais"].nunique()
df.groupby("Ano")["Expectativa de vida"].mean()
df["PIB"].mean()
df["PIB"].sum()<jupyter_output><empty_output><jupyter_text>Part 02 - Excel Spreadsheets<jupyter_code>df1 = pd.read_excel("/content/drive/MyDrive/Colab Notebooks/Banco Carrefour/datasets/Aracaju.xlsx")
df2 = pd.read_excel("/content/drive/MyDrive/Colab Notebooks/Banco Carrefour/datasets/Fortaleza.xlsx")
df3 = pd.read_excel("/content/drive/MyDrive/Colab Notebooks/Banco Carrefour/datasets/Natal.xlsx")
df4 = pd.read_excel("/content/drive/MyDrive/Colab Notebooks/Banco Carrefour/datasets/Recife.xlsx")
df5 = pd.read_excel("/content/drive/MyDrive/Colab Notebooks/Banco Carrefour/datasets/Salvador.xlsx")
df = pd.concat([df1,df2,df3,df4,df5])
df.head()
df.tail()
df.sample(10)
df.dtypes
df["LojaID"] = df["LojaID"].astype("object")
df.dtypes
df.head()<jupyter_output><empty_output><jupyter_text>- **Valores Faltantes**<jupyter_code>df.isnull().sum()
df["Vendas"].fillna(df["Vendas"].mean(), inplace=True)
df["Vendas"].mean()
df.isnull().sum()
df.sample(15)<jupyter_output><empty_output><jupyter_text>> Substituindo os valores nulos por zero<jupyter_code>df["Vendas"].fillna(0, inplace=True)<jupyter_output><empty_output><jupyter_text>> Apagando as linhas com valores nulos<jupyter_code>df.dropna(inplace=True)<jupyter_output><empty_output><jupyter_text>> Apagando as linhas com valores nulos com base apenas em 1 coluna<jupyter_code>df.dropna(subset=["Vendas"], inplace=True)<jupyter_output><empty_output><jupyter_text>> Removendo linhas que estejam com valores faltantes em todas as colunas<jupyter_code>df.dropna(how="all", inplace=True)<jupyter_output><empty_output><jupyter_text>- **Criando Colunas Novas** > Criando a coluna de receita<jupyter_code>df["Receita"] = df["Vendas"].mul(df["Qtde"])
df.head()
df["Receita/Vendas"] = df["Receita"] / df["Vendas"] 
df["Receita"].max()
df["Receita"].min()
df.nlargest(3, "Receita")
df.nsmallest(3, "Receita")<jupyter_output><empty_output><jupyter_text>> Agrupando por cidade<jupyter_code>df.groupby("Cidade")["Receita"].sum()<jupyter_output><empty_output><jupyter_text>> Ordenando o conjunto de dados<jupyter_code>df.sort_values("Receita", ascending=False).head(10)<jupyter_output><empty_output><jupyter_text>Part 03 - Working with Dates<jupyter_code>#Trasnformando a coluna de data em tipo inteiro
df["Data"] = df["Data"].astype("int64")
df.dtypes
#Transformando coluna de data em data
df["Data"] = pd.to_datetime(df["Data"])
df.dtypes
#Agrupamento por ano
df.groupby(df["Data"].dt.year)["Receita"].sum()
#Criando uma nova coluna com o ano
df["Ano_Venda"] = df["Data"].dt.year
df.sample(5)
#Extraindo o mês e o dia
df["mes_venda"], df["dia_venda"] = (df["Data"].dt.month, df["Data"].dt.day)
#Retornando a data mais antiga
df["Data"].min()
#Calculando a diferença de dias
df["diferenca_dias"] = df["Data"] - df["Data"].min()
df.sample(10)
#Criando a coluna de trimestre
df["trimestre_venda"] = df["Data"].dt.quarter
df.sample(3)
#Filtrando as vendas de 2019 do mês de março
marco_2019 = df.loc[(df["Data"].dt.year == 2019) & (df["Data"].dt.month == 3)]
marco_2019.sample(10)<jupyter_output><empty_output><jupyter_text>Part 04 - Data Visualization<jupyter_code>df["LojaID"].value_counts(ascending=False)
#Gráfico de barras
df["LojaID"].value_counts(ascending=False).plot.bar()
#Gráfico de barras horizontais
df["LojaID"].value_counts().plot.barh()
#Gráfico de barras horizontais
df["LojaID"].value_counts(ascending=True).plot.barh()
#Gráfico de Pizza
df.groupby(df["Data"].dt.year)["Receita"].sum().plot.pie()
#Total vendas por cidade
df["Cidade"].value_counts()
#Adicionando um título e alterando o nome dos eixos
import matplotlib.pyplot as plt
df["Cidade"].value_counts().plot.bar(title="Total vendas por Cidade")
plt.xlabel("Cidade")
plt.ylabel("Total Vendas");
#Alterando a cor
df["Cidade"].value_counts().plot.bar(title="Total vendas por Cidade", color="red")
plt.xlabel("Cidade")
plt.ylabel("Total Vendas");
#Alterando o estilo
plt.style.use("ggplot")
df.groupby(df["mes_venda"])["Qtde"].sum().plot(title = "Total Produtos vendidos x mês")
plt.xlabel("Mês")
plt.ylabel("Total Produtos Vendidos")
plt.legend()
df.groupby(df["mes_venda"])["Qtde"].sum()
#Selecionando apenas as vendas de 2019
df_2019 = df[df["Ano_Venda"] == 2019]
df_2019.groupby(df_2019["mes_venda"])["Qtde"].sum()
#Total produtos vendidos por mês
df_2019.groupby(df_2019["mes_venda"])["Qtde"].sum().plot(marker = "o")
plt.xlabel("Mês")
plt.ylabel("Total Produtos Vendidos")
plt.legend()
#Hisograma
plt.hist(df["Qtde"], color="orangered")
plt.scatter(x=df_2019["dia_venda"], y = df_2019["Receita"])
#Salvando em png
df_2019.groupby(df_2019["mes_venda"])["Qtde"].sum().plot(marker = "v")
plt.title("Quantidade de produtos vendidos x mês")
plt.xlabel("Mês")
plt.ylabel("Total Produtos Vendidos");
plt.legend()
plt.savefig("grafico QTDE x MES.png")<jupyter_output><empty_output><jupyter_text>Part 05 - Exploratory Analysis<jupyter_code>plt.style.use("seaborn")
df0 = pd.read_excel("/content/drive/MyDrive/Colab Notebooks/Banco Carrefour/datasets/AdventureWorks.xlsx")
df0.head()
df0.shape
df0.dtypes
#Qual a Receita total?
df0["Valor Venda"].sum()
#Qual o custo Total?
df0["custo"] = df0["Custo Unitário"].mul(df0["Quantidade"]) #Criando a coluna de custo
df0.head(1)
#Qual o custo Total?
round(df0["custo"].sum(), 2)
#Agora que temos a receita e custo e o total, podemos achar o Lucro total
#Vamos criar uma coluna de Lucro que será Receita - Custo
df0["lucro"]  = df0["Valor Venda"] - df0["custo"] 
df0.head(1)
#Total Lucro
round(df0["lucro"].sum(),2)
#Criando uma coluna com total de dias para enviar o produto
df0["Tempo_envio"] = df0["Data Envio"] - df0["Data Venda"]
df0.head(1)
#Extraindo apenas os dias
df0["Tempo_envio"] = (df0["Data Envio"] - df0["Data Venda"]).dt.days
df.head(1)
#Verificando o tipo da coluna Tempo_envio
df0["Tempo_envio"].dtype
#Média do tempo de envio por Marca
df0.groupby("Marca")["Tempo_envio"].mean()<jupyter_output><empty_output><jupyter_text>- Valores Faltantes<jupyter_code>#Verificando se temos dados faltantes
df0.isnull().sum()
#Agrupando por ano e marca
df0.groupby([df0["Data Venda"].dt.year, "Marca"])["lucro"].sum()
 pd.options.display.float_format = '{:20,.2f}'.format
#Resetando o index
lucro_ano = df0.groupby([df0["Data Venda"].dt.year, "Marca"])["lucro"].sum().reset_index()
lucro_ano
#Qual o total de produtos vendidos?
df0.groupby("Produto")["Quantidade"].sum().sort_values(ascending=False)
#Gráfico Total de produtos vendidos
df0.groupby("Produto")["Quantidade"].sum().sort_values(ascending=True).plot.barh(title="Total Produtos Vendidos")
plt.xlabel("Total")
plt.ylabel("Produto")
df0.groupby(df0["Data Venda"].dt.year)["lucro"].sum().plot.bar(title="Lucro x Ano")
plt.xlabel("Ano")
plt.ylabel("Receita")
df0.groupby(df0["Data Venda"].dt.year)["lucro"].sum()
#Selecionando apenas as vendas de 2009
df_2009 = df0[df0["Data Venda"].dt.year == 2009]
df_2009.head()
df_2009.groupby(df_2009["Data Venda"].dt.month)["lucro"].sum().plot(title="Lucro x Mês")
plt.xlabel("Mês")
plt.ylabel("Lucro")
df_2009.groupby("Marca")["lucro"].sum().plot.bar(title="Lucro x Marca")
plt.xlabel("Marca")
plt.ylabel("Lucro")
plt.xticks(rotation='horizontal')
df_2009.groupby("Classe")["lucro"].sum().plot.bar(title="Lucro x Classe")
plt.xlabel("Classe")
plt.ylabel("Lucro")
plt.xticks(rotation='horizontal')
df0["Tempo_envio"].describe()
#Gráfico de Boxplot
plt.boxplot(df0["Tempo_envio"])
#Histograma
plt.hist(df0["Tempo_envio"])
#Tempo mínimo de envio
df0["Tempo_envio"].min()
#Tempo máximo de envio
df0['Tempo_envio'].max()
#Identificando o Outlier
df0[df0["Tempo_envio"] == 20]
df0.to_csv("new_df.csv", index=False)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.18391083111218803, 'fraction_numerical': 0.023140295614247637, 'mean_word_length': 8.012008733624453, 'pattern_counts': {'":': 6, '<': 57, '<?xml version=': 0, '>': 64, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '14', 'dir': 'jupyter-structured-clean-dedup', 'id': '446972', 'license': 'MIT', 'n_tokens_mistral': 3537, 'n_tokens_neox': 3338, 'n_words': 564, 'path': 'Banco Carrefour - Data Engineer Bootcamp/Banco_Carrefour_03_Data_Analysis.ipynb', 'repo_name': 'whoiswelliton/Data_Science_and_Data_Engineering', 'size': '8254'}