Manipulando Valores Ausentes
Preenchendo valores ausentes em DataFrames do Pandas
Importando um DataFrame para manipulação
python
df3 = pd.read_csv('dataset.csv')
Exibindo os valores, mostrando o cabeçalho, filtrando mostrando os 5 primeiros valores
python
out:
df3.head(5)
| ID_Pedido | Data_Pedido | ID_Cliente | Segmento | Pais | Regiao | ID_Produto | Categoria | Nome_Produto | Valor_Venda | Quantidade | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | CA-2016-152156 | 2016-11-08 | CG-12520 | Consumer | United States | South | FUR-BO-10001798 | Furniture | Bush Somerset Collection Bookcase | 261.9600 | NaN |
| 1 | CA-2016-152156 | 2016-11-08 | CG-12520 | Consumer | United States | South | FUR-CH-10000454 | Furniture | Hon Deluxe Fabric Upholstered Stacking Chairs,... | 731.9400 | NaN |
| 2 | CA-2016-138688 | 2016-06-12 | DV-13045 | Corporate | United States | West | OFF-LA-10000240 | Office Supplies | Self-Adhesive Address Labels for Typewriters b... | 14.6200 | 2.0 |
| 3 | US-2015-108966 | 2015-10-11 | SO-20335 | Consumer | United States | South | FUR-TA-10000577 | Furniture | Bretford CR4500 Series Slim Rectangular Table | 957.5775 | 5.0 |
| 4 | US-2015-108966 | 2015-10-11 | SO-20335 | Consumer | United States | South | OFF-ST-10000760 | Office Supplies | Eldon Fold 'N Roll Cart System | 22.3680 | 2.0 |
Verificando se há valores ausentes e em qual coluna:
python
df3.isna().sum()
out:
Se não houver valores ausentes, ele retornará zero, porém, se houver, ele retornará a quantidade de valores que estão faltando.
ID_Pedido 0
Data_Pedido 0
ID_Cliente 0
Segmento 0
Pais 0
Regiao 0
ID_Produto 0
Categoria 0
Nome_Produto 0
Valor_Venda 0
Quantidade 2
dtype: int64
MODA
A moda é uma medida de tendência central que representa o valor mais frequente em um conjunto de dados!!
Ela é extremamente útil quando queremos saber qual é o valor mais comum ou popular em um conjunto de dados!
Extraindo a moda da coluna quantidade
python
moda = df3['Quantidade'].value_counts().index[0]
print(moda)
out:
3.0
Preenchendo os valores vazios com o valor da moda
python
df3['Quantidade'].fillna(value = moda, inplace = True)
# O inplace é como se fosse para salvar as alterações!
# Se eu não utilizar o mesmo, ele irá criar uma cópia do DF e fazer a alteração apenas naquele escopo.
python
# Verificando se ainda há valores vazios!
df3.isna().sum()
out:
ID_Pedido 0
Data_Pedido 0
ID_Cliente 0
Segmento 0
Pais 0
Regiao 0
ID_Produto 0
Categoria 0
Nome_Produto 0
Valor_Venda 0
Quantidade 0
dtype: int64
O nome dessa prática se chama INTERPOLAÇÃO! Quando utilizamos uma estatística da coluna para preencher valores ausentes!