技术标签: python 数据分析 numpy 大数据和云计算
数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要的环节。
在python中空值被显示为NaN。首先,我们要构造一个包含NaN的DataFrame对象。
>>> import numpy as np
>>> import pandas as pd
>>> from pandas import Series,DataFrame
>>> from numpy import nan as NaN
>>> data = DataFrame([[12,'man','13865626962'],[19,'woman',NaN],[17,NaN,NaN],[NaN,NaN,NaN]],columns=['age','sex','phone'])
>>> data
age sex phone
0 12.0 man 13865626962
1 19.0 woman NaN
2 17.0 NaN NaN
3 NaN NaN NaN
删除表中全部为NaN的行
>>> data.dropna(axis=0, how='all')
age sex phone
0 12.0 man 13865626962
1 19.0 woman NaN
2 17.0 NaN NaN
删除表中任何含有NaN的行
>>> data.dropna(axis=0, how='any')
age sex phone
0 12.0 man 13865626962
删除表中全部为NaN的列
>>> data.dropna(axis=1, how='all')
age sex phone
0 12.0 man 13865626962
1 19.0 woman NaN
2 17.0 NaN NaN
3 NaN NaN NaN
删除表中任何含有NaN的列
>>> data.dropna(axis=1, how='any')
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3]
注意:axis 就是”轴,数轴“的意思,对应多维数组里的”维“。此处作者的例子是二维数组,所以,axis的值对应表示:0轴(行),1轴(列)。
如果不想过滤(去除)数据,我们可以选择使用fillna()方法填充NaN,这里,作者使用数值’0’替代NaN,来填充DataFrame。
>>> data.fillna(0)
age sex phone
0 12.0 man 13865626962
1 19.0 woman 0
2 17.0 0 0
3 0.0 0 0
我们还可以通过字典来填充,以实现对不同的列填充不同的值。
>>> data.fillna({
'sex':233,'phone':666})
age sex phone
0 12.0 man 13865626962
1 19.0 woman 666
2 17.0 233 666
3 NaN 233 666
旨在具体将每个基础算法过一遍,用较短和较精炼的话将每种结构特点总结出来,供自己以后方便阅读。配合以代码和题目的练习达到入门的门槛,加油,奥里给!目录综述为啥要学算法:算法开篇——什么是算法,学习算法有什么用数组Task01. 两数之和难度:简单https://leetcode-cn.com/problems/two-sum/Task02. 删除排序数组中的重复项难度:简单h...
Elegance is the only beauty that never fades.优雅是唯一不会褪色的美。Even the most beautiful apperace would become bones and dusts.Even the most successful company in nowadays would be defeated and rep...
QtCreator屏蔽指定警告Tools > Options > C++ > Code Model > Clang Code Model > Manage创建自己的配置在Clang中添加要屏蔽的警告, 例如: -Wno-weak-vtables -Wno-old-style-cast确定后选择应用.例子对应警告名称为: unused-variab...
【云原生之Docker实战】使用docker部署webterminal堡垒机
ORACLE 9I中加入了MERGE 语法: MERGE [hint] INTO [schema .] table [t_alias] USING [schema .] { table | viewOracle 9I中加入了MERGE语法:MERGE [hint] INTO [schema .] table [t_alias]USING [schema .] { table | view | su...
tomcat作为http的下载服务器,网上有很多办法但我认为最简单的是:1、直接把文件放在 /var/lib/tomcat6/webapps/ROOT 目录下,2、然后在网址中访问: http://192.168.2.31:8080/download.zip 便可下载。但是,如何你不想放在webapps/ROOT下,就要对想要下载的目录进行配置:1、在tomcat 安装目录\conf\Catali...
以太网网口流量测试,吞吐量测试现在有很多硬件平台理论上支持千兆以太网接口,但实际传输速率远远低于千兆,并且丢包率很高。近我做了一些以太网吞吐量和丢包率方面的优化工作,有一些心得和大家分享一下。二、影响吞吐量和丢包率的因素1. 网卡DMA缓冲区大小这个缓冲区决定tx ring buffer和rx ring buffer的大小,如果ringbuffer太小,那么网卡缓存数据包的能力有限,当接收数据能力...
树莓派实现Frp内网穿透一、Frp介绍1、基本介绍frp 是一个可用于内网穿透的,高性能的反向代理应用,支持 tcp, udp, http, https 协议。处于内网或防火墙后的机器,实现对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。*
unity中BringWindowToFront和dragWindow的用法using System.Collections;using System.Collections.Generic;using UnityEngine;public class TestWindowToFront : MonoBehaviour { private Rect windowRect = new Rect (20, 20, 120, 50); private Rect w
笔者最近领用了一台笔记本,x201i。结果一看,CPU是2核心4线程的。所以就没搞明白线程跟核心到底是怎么回事。因此记录下来,与朋友们分享。[img]http://dl.iteye.com/upload/attachment/407379/7721c7cf-44b0-3bae-91da-104c2827ce3a.jpg[/img] 指处理器中有两个核心, 但是利用了超线程技术...
题记:编译环境可以参考https://www.cnblogs.com/ywjfx/p/9960817.html不管是写C还是java,我想所有的程序员都经历过HelloWorld程序的编写,现在让我们开始安卓的framework层的HelloWorld之旅。有了编译环境,只需要两个步骤就可以完成,步骤如下: 1、在external下面创建test目录 mkdir a...
本文总结了使用Java代码获取Oracle 连接的工具类使用的jar包是:ojdbc14.jar 将jar包引入对应项目package per.test.oracle;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;imp...