

【Pandas总结】第四节 Pandas 缺失值处理(通过实例进行演示)
source link: https://blog.51cto.com/u_15807450/5749594
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Table of Contents
核心知识点
一、检测空值: isnull()
notnull()
df.isnull()
与 df.notnull()
:用于检测dataframe 或者 series

二、删除空值: dropna()
格式:df.dropna(DataFrame, axis='',how='', inplace='')
参数 | 说明 |
---|---|
DataFrame | 待处理的df |
axis | 删除行还是删除列,传入0 或者’index’ 代表行,传入1 或者’columns’ 代表列 |
how | ‘any’ 表示任何值为空都删除,‘all’ 表示所有值为空才删除 |
inplace | True 表示修改当前df; false 表示返回修改后的df, 默认为false |
举例可以参考下面的实例;
三、填充空值: fillna()
格式:df.fillna(value='', method='', axis='',inplace='')
参数 | 说明 |
---|---|
value | 用于填充的值,可以是单个值或者字典(key是列名,value是用于填充的值) |
method | ‘ffill’:即forword fill ,使用前一个不为空的值进行填充 <br>‘bfill’:即backfill, 使用后一个不为空的值进行填充 |
axis | 删除行还是删除列,传入0 或者’index’ 代表行,传入1 或者’columns’ 代表列 |
inplace | True 表示修改当前df; false 表示返回修改后的df, 默认为false |
举例可以参考下面的实例;
现实中,经常有一些非常漂亮的Excel, 例如下面的例子中的Excel。 这种Excel虽然好看,但是却不满足数据处理的要求,数据处理时,需要的是一个标准的表格,不包含合并单元格等这些格式; 这就需要我们对数据进行处理,这里举一个例子,供大家参考:
处理前: 好看但不好用!

处理后:不好看,但好用!

一、读入数据
data_path=r"E:\VSCODE\2_numpy_pandas\pandas\data.xlsx"
df=pd.read_excel(data_path)
print(df)

二、去掉无用的行
可以看到,读出的数据并非是我们想要的,我们需要的数据只有蓝色区域内,这时我们需要对读入的数据进行处理;首先我们需要把无用的行去掉,这里可以使用pd.read_excel
函数中的参数来修改,详细的内容可以参考: 【Pandas总结】第二节 Pandas 的数据读取_pd.read_csv()的使用详解 , 将代码修改为:
df=pd.read_excel(data_path,skiprows=2)
这样处理后,打印的结果为:

三、 去掉全部为空值的列
使用drop.na
来处理全部为空值的列;
df.dropna(axis="columns",how="all",inplace=True)
print(df)
可以看到,全部为空值的列没有了;

四、 去掉全部为空值的行
与去除列的方式一样,只要将axis
的参数改为rows
, 即可删除全部为空值的列;代码如下:
df.dropna(axis="rows",how="all",inplace=True)
print(df)

五、将成绩为NaN的单元格,填充为0
使用fillna()
来处理全部为空值的列;
df = df.fillna({"成绩":0})
print(df)

六、将缺失的姓名填充
df = df.fillna(method='ffill')
print(df)

七、保存到excel中
data_path_new = r"E:\VSCODE\2_numpy_pandas\pandas\data_new.xlsx"
df.to_excel(data_path_new)
Recommend
-
26
为什么要处理缺失值 这一段完全是废话了。含有缺失数据的样本,你要么删了,要了就填充上什么值。删了就会损失一部分的样本信息,填充要是填充的不合适,会给样本增加噪音。 所以这就是一个选择的问题:
-
28
数据科学就是关于数据的。它是任何数据科学或机器学习项目的关键。在大多数情况下,当我们从不同的资源收集数据或从某处下载数据时,几乎有95%的可能性我们的数据中包含缺失的值。我们不能对包含缺失值的数据进行分析或训练机器学习模型。...
-
15
HTTP是如今互联网的基础协议,承载了互联网上的绝大部分应用层流量,并且从目前趋势来看,在未来10年,http仍然会是互联网应用的主要协...
-
16
在机器学习中建模的时候,往往面临两个困难,一是选择哪个模型,二是怎样处理数据。处于数据包括数据获取、数据清洗和数据分析。其实对于不同的场景和不同的数据,选择的模型也是不一样的,本文简单聊一聊在数据缺失的时候该怎样选择合适的模型。
-
11
在机器学习数据预处理阶段经常需要对数据进行缺失值处理。关于缺失值的处理并没有想象中的那么简单。以下为一些经验分享。 数据缺失类型 完全随机丢失(MCAR,Missing Completely at Random):某个变量是否缺失与它自...
-
8
在数据处理中,Pandas会将无法解析的数据或者缺失的数据使用NaN来表示。虽然所有的数据都有了相应的表示,但是NaN很明显是无法进行数学运算的。 本文将会讲解Pandas对于NaN数据的处理方法。 NaN的例子 上面讲到了缺失的数据会被表现为Na...
-
9
作者:韦斯·麦金尼(Wes McKinney) 译者:徐敬一 来源:大数据DT(ID:hzdashuju) 导读:在进行数据分析和建模的过程中,大量的时间花在数据准备上:加载、清理、转换和重新...
-
7
说说hdfs是如何处理块副本多余和缺失的 - hncscwc的个人空间 - OSCHINA - 中文开源技术交流社区 年度开源项目评选特别策划之“视频号...
-
6
数据分析缺失值处理(Missing Values)——删除法、填充法、插值法 ...
-
5
数据的预处理是数据分析,或者机器学习训练前的重要步骤。通过数据预处理,可以 提高数据质量,处理数据的缺失值、异常值和重复值等问题,增加数据的准确性和可靠性 整合不同数据,...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK