![d282c93535b9c4d075be4f66cc6c20cc.png](https://i-blog.csdnimg.cn/blog_migrate/f6fbfd721c16a0149700f3ee93a7af5b.jpeg)
导语:
前两期分别就pandas安装和导入数据、pandas数据探索做了梳理。
回顾如下:
Pandas安装和数据导入mp.weixin.qq.com![2304f74e5918effd32833f62d43d447e.png](https://i-blog.csdnimg.cn/blog_migrate/df70caf8b3ab03321e138dbad807f08a.png)
![386ed8c43e26504b1bcdaf382a925741.png](https://i-blog.csdnimg.cn/blog_migrate/0b9b02ccf30ccacce8fd40b2822bb056.png)
今天进入第三期,重点是缺失值和重复值的查找与处理。
(写着写着就成了单刀直入的号主···)
查找缺失值
日常数据处理经常会遇到数据缺失的问题。
缺失值查找:
isna() - isna()针对每一行查找。
isna().any() - 对每一列查找别返回是否有缺失值标记
![3c2cd401fde005c5078baeabe1855ffa.png](https://i-blog.csdnimg.cn/blog_migrate/e796ea86b8268fa4eedcf9c9d035a54c.png)
spotify数据集无缺失值,我们用pandas生成一个有缺失值的dataframe:
![cd8813f66d2351b559d801cb6a2f7083.png](https://i-blog.csdnimg.cn/blog_migrate/e78b914b81bf5390d47a6519076ea112.png)
第二行C列有缺失值,且缺失值为NaN。
检查缺失值,False代表无缺失,True有缺失:
![b0c829b04b82fcd6e0174297f81f6236.png](https://i-blog.csdnimg.cn/blog_migrate/2bbc0de6b88474bb31a4f856e4cf68b3.png)
对于类似于test的小数据集,可以直接查看缺失值所在行:
![a3dbffcb3311a4d76572cf9be91ef867.png](https://i-blog.csdnimg.cn/blog_migrate/ccf65e46fb03c9bd3dc4aaa8239b0fdc.png)
缺失值处理
缺失值处理一般有两个办法:
填充或剔除——需要结合具体的数据集考虑。
如果缺失值相对数据集而言非常小量且不影响数据集的整体分布,可以考虑直接剔除。
填充利用fillna(),可以指定固定值、均值、中位数等填充。
指定值填充:
![e7abdea4a4e1b41a14e9b970b36e4954.png](https://i-blog.csdnimg.cn/blog_migrate/0866069dd04f1233970abcd801c8854e.png)
中位数填充:
![f5f9e94ce2ee23c430727cf4865d9464.png](https://i-blog.csdnimg.cn/blog_migrate/ee05eef8995067d4b9bb2a22fc561b78.png)
缺失值直接剔除:dropna
![fe373890c3a9e37ba676f29048b5a09e.png](https://i-blog.csdnimg.cn/blog_migrate/2c5d7817ce8ac3b097e3a45d676fc421.png)
空值
空值和na稍有差异。
空值是指"",na指nan
空值检查用isnull(),填充继续使用fillna()即可。
![66da0e912d3034426329b4c6e6a64a01.png](https://i-blog.csdnimg.cn/blog_migrate/ef2766e6082b6e96a0e33cd8785520d1.png)
重复值
重复值查找用duplicated()。
删除重复值所在行用drop_duplicates()。
虽然长相类似,但一定不要用混了~
![04b6e1d1384865a7de0004b561cc17c9.png](https://i-blog.csdnimg.cn/blog_migrate/a42a501e3f19dc90e7c542e05fdcac6a.png)
结语
Spotify的这个数据集比较简单,而且数据集没有什么太大问题。
实际应用pandas的数据处理的过程中,其实多多少少会遇到缺失、重复的问题,后面我会再拿几个数据案例来帮大家练习提升pandas的熟练度。
其实数据处理是数据分析的重中之重,毫不夸张的说,数据分析有50%以上的时间都是花在数据提取、数据处理上了。
这一块熟练了之后,数据分析水平也会再上一个新的台阶。
加油,练起来吧~