null数据(也称为缺失值或缺失值)是一个普遍的挑战。它们可能出于多种原因而发生,例如数据收集错误,处理失败或不可用的信息。正确处理零数据是至关重要的,以确保您的矮人准确并且模型很强。
Pandas是操纵和数据矮人最受欢迎的Python库之一。它提供了各种功能,可有效处理无效数据。在本文中,我们将探讨熊猫中无效数据处理的主要策略,并伴随着实践示例,以更好地理解。- ndice
- 零数据简介
- 识别空数据
- 无效数据删除
- 填充空数据 4.1填充特定值 4.2用描述性统计填充 4.3用插值填充
- 无效数据的插补 5.1妈妈和中位数 5.2母亲的学习模型
- fun -uteis uteis
- Considerações Finais
1.零数据介绍
零数据是数据集中不存在的值。它们可以由熊猫中的“ nan”(不是数字)代表。零数据的存在可以直接影响数据和数据建模,因为某些操作可能在缺失值的情况下不能正确执行。
2.识别零数据
在处理空数据之前,我们需要在数据集中识别它。熊猫具有isnull()
函数,该函数返回带有“ true”的布尔矩阵,用于null值,而对于null值。
示例:
import pandas as pd
# Criando um DataFrame de exemplo com dados nulos
data = {'Nome': ['Alice', 'Bob', None, 'David'],
'Idade': [25, None, 30, 22],
'Salario': [5000, 6000, None, 4500]}
df = pd.DataFrame(data)
print(df.isnull())
输出:
Nome Idade Salario
0 False False False
1 False True False
2 True False True
3 False False False
3.删除零数据
去除无数据是一个简单的策略,但应谨慎使用,因为它可能导致重要信息的丢失。当与数据集的大小相关的空数据量很小时,建议使用此方法。
pandas提供母亲©所有dropna()
删除包含空数据的行或列。
示例:
# Remover linhas que contenham pelo menos um valor nulo
df_sem_nulos_linha = df.dropna()
# Remover colunas que contenham pelo menos um valor nulo
df_sem_nulos_coluna = df.dropna(axis=1)
4.填写空数据
填写空数据是一个更常见的策略,因为它允许保持数据集的完整性,从而避免信息丢失。熊猫提供了几种填充方法,具体取决于数据的上下文。
4.1填充特定值
填充零数据的最简单方法之一是使用特定值,例如零或空字符串。
示例:
# Preencher valores nulos com um valor específico (por exemplo, zero)
df_preenchido_zero = df.fillna(0)
# Preencher valores nulos com uma string vazia
df_preenchido_vazio = df.fillna('')
4.2用描述性统计填充
另一种常见方法是用描述性统计填充无效值,例如该列的座右铭或中位数。
示例:
# Preencher valores nulos da coluna 'Idade' com a média da coluna
media_idade = df['Idade'].mean()
df_preenchido_media = df['Idade'].fillna(media_idade)
# Preencher valores nulos da coluna 'Salario' com a mediana da coluna
mediana_salario = df['Salario'].median()
df_preenchido_mediana = df['Salario'].fillna(mediana_salario)
4.3插值填充
插值是数据遵循趋势或标准的时间的微妙性。它填充了基于附近数据的其他数据估算值的零数据。示例:
# Preencher valores nulos usando interpolação linear da coluna 'Idade'
df_interp_idade = df['Idade'].interpolate(method='linear')
5.摘要的零数据
插补是一种更高级的方法,可以填写空数据,其中基于数据集中其他显示的估计值。这是尤其是当零数据量大的时候。
5.1妈妈和中位数
最简单的插补形式之一是用相应的列或中位数替换空值。
示例:
from sklearn.impute import SimpleImputer
# Criar um objeto imputador com a estratégia da média
imputador_media = SimpleImputer(strategy='mean')
# Imputar os valores nulos da coluna 'Idade' com a média da coluna
df_imputado_media = pd.DataFrame(imputador_media.fit_transform(df[['Idade']]), columns=['Idade'])
5.2母亲的学习模型归纳
另一种高级方法是使用母亲的学习模型根据其他可用属性来预测零值。该技术更为复杂,但是可以提供更准确的插入,尤其是当属性之间的相关性很大时。
让我们使用koud2库来体现这种方法,该库为基于更紧密的邻居提供了koud3估计器。
示例:
from sklearn.impute import KNNImputer
# Criar um objeto imputador usando KNeighborsRegressor
imputador_knn = KNNImputer(n_neighbors=2)
# Imputar os valores nulos das colunas 'Idade' e 'Salario' usando KNN
df_imputado_knn = pd.DataFrame(imputador_knn.fit_transform(df[['Idade', 'Salario']]), columns=['Idade', 'Salario'])
6. UTILE功能
6.1冷0
此函数返回布尔值的数据框,如果值为null(NAN),则每个原始数据帧鱿鱼被True替换为True,并且如果值为徒劳,则为false。一种工具是确定数据集中的缺失值。
示例:
import pandas as pd
data = {'A': [1, 2, None, 4, None],
'B': [5, None, 7, 8, 9]}
df = pd.DataFrame(data)
print(df.isnull())
结果:
A B
0 False False
1 False True
2 True False
3 False False
4 True False
6.2 notnull()
此函数是isnull()
函数的相反。它返回布尔值的数据框架,如果值为null(nan),则原始数据框架中的每个CTA被true替换为true。
示例:
import pandas as pd
data = {'A': [1, 2, None, 4, None],
'B': [5, None, 7, 8, 9]}
df = pd.DataFrame(data)
print(df.notnull())
结果:
A B
0 True True
1 True False
2 False True
3 True True
4 False True
6.3 isna()
此功能是由isnull()
犯罪的。它还返回布尔值的数据框架,如果值为null(NAL)(NAN),则每个原始DataFrame lula替换为True,如果该值为徒劳。
6.4 notna()
此函数已合成notnull()
。它还返回布尔值的数据框架,如果值为null(NAN),则原始数据框架中的每个CTA被True替换为True。
这些功能极为â€,以识别和处理数据集中的缺失值,从而使数据分析师能够在其矮人和建模中处理这些值的明智决定。
>>>>>
您可以将这些功能用作数据清洁和准备过程的一部分,例如删除具有许多空值的行或列,用天数或padran值£o填充缺失值,或者简单地将描述性矮人执行到了解零值对您的数据的影响。
7.最终考虑
处理无效数据是数据的模拟和趋势的裂纹步骤。 Pandas提供了几种处理此数据的技术,包括去除,填充和插补。正确的策略的选择取决于数据集中的数据上下文和零值的数量。
这是一些重要的最终考虑:
- 始终分析数据的上下文并评估零数据处理对矮人和结果的不同策略的影响。
- 删除空数据可能会导致损失有价值的信息,因此请谨慎使用。
- 填充描述性统计(例如运动和中位数)是一种简单的方法,但在某些情况下可以引入扭曲。
- 插值是在数据遵循趋势或标准的时候。
- 母亲学习模型的插补可以更准确,但需要更复杂和关心。
通过应用适当的技术来处理无效数据,您可以保证居住的质量和精度,从而使您的模型和结果更加自信和决策。始终记住要考虑数据的上下文和存在的空数据量以选择特定场景的最合适方法。