In [ ]:
import numpy as np
import os
import pandas as pd
In [ ]:
""" Série a ser transformada"""
s = pd.Series(
name="Compras",
index=["Leite", "Ovos", "Carne", "Arroz", "Feijão"],
data=[2, 12, 1, 5, 2]
)
s
In [ ]:
""" Função de Transformação """
def fn(x):
return x ** 2 + x - 100
In [ ]:
""" Transformação elemento a elemento """
s.map(fn)
In [ ]:
""" DataFrame a ser transformado"""
df = pd.DataFrame(
index=pd.Index(data=["Leite", "Ovos", "Carne", "Arroz", "Feijão"], name="Itens"),
columns=["Quantidade", "Preço Unitário"],
data=np.array([
[4, 3, 1, 5, 2],
[3.00, 6.50, 25.90, 5.00, 3.80]
]).T,
)
df
In [ ]:
""" Função de Transformação """
def fn(x):
return x ** 3 / 100
In [ ]:
""" Transformação elemento a elemento """
df.applymap(fn)
In [ ]:
""" Função de Transformação """
def fn(x):
return x.product()
In [ ]:
""" Transformação elemento a elemento """
df.apply(fn)
In [ ]:
""" Transformação elemento a elemento """
df.apply(fn, axis=1)
In [ ]:
df1 = pd.DataFrame(
columns=["user_id", "store_id", "product_id"],
data=[
[1, 1, 1],
[1, 2, 6],
[3, 2, 7],
[2, 2, 3],
[3, 2, 3],
[4, 3, 2],
[2, 3, 1],
[1, 1, 3],
[1, 3, 3],
[5, 1, 4],
[5, 1, 1],
[3, 2, 1],
[1, 2, 1],
[2, 2, 2],
[3, 2, 2],
[4, 2, 3],
[4, 1, 5],
[5, 1, 6],
[3, 1, 6],
[2, 3, 7],
]
)
df2 = pd.DataFrame(
columns=["store_id", "store_name"],
data=[
[1, "Pão de Açúcar"],
[2, "Dia"],
[3, "Extra"],
]
)
df3 = pd.DataFrame(
columns=["product_id", "product_name"],
data=[
[1, "Leite"],
[2, "Ovos"],
[3, "Arroz"],
[4, "Feijão"],
[5, "Carne"],
[6, "Frango"],
[7, "Peixe"]
]
)
df = pd.merge(pd.merge(df1, df2, on="store_id"), df3, on="product_id")[["user_id", "store_name", "product_name"]]
df
In [ ]:
df.pivot?
In [ ]:
df.pivot_table?
In [ ]:
df.pivot(columns="store_name", values="product_name")
In [ ]:
df.pivot_table(columns="store_name", values="product_name", aggfunc="count")
In [ ]:
pd.crosstab?
In [ ]:
pd.crosstab(df.store_name, df.product_name)
In [ ]:
pd.DataFrame.groupby?
In [ ]:
pd.core.groupby.DataFrameGroupBy.aggregate?
In [ ]:
g = df.groupby("product_name")
g
In [ ]:
g.describe()
In [ ]:
g.aggregate(["min", "mean", "median", "max", "sum"])
In [ ]:
g.max()
In [ ]:
file_name = os.path.join("data", "desafio", "dataset.csv")
In [ ]:
dataset = pd.read_csv(filename, sep=",", index_col=0, encoding="utf-8")
dataset.head()
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """