今天这里谈的函数,以后进行数据分析的时候会经常用到。

import numpy as np
import pandas as pd
from pandas import DataFrame , Series
from numpy import nan as NA
obj = Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c']) uniques = obj.unique()
print("obj is \n", obj)
print("obj.unique is \n ", obj.unique())
print("uniques.sort() is \n", uniques.sort()) print("obj.value_counts() is \n", obj.value_counts())
print("pd.value_counts(obj.values,sort=False) \n", pd.value_counts(obj.values, sort=False)) mask = obj.isin(['b' , 'c'])
print("obj.isin(['b','c']) \n", obj.isin(['b' , 'c']))
print("mask = obj.isin(['b','c'])")
print("obj[mask] is \n", obj[mask]) data= DataFrame(
    {
        'Qu1':[1,3,4,3,4],
        'Qu2':[2,3,1,2,3],
        'Qu3':[1,5,2,4,4]
    }
) print ("data is \n",data)
result = data.apply(pd.value_counts).fillna(0) print("data.apply(pd.value_counts).fillna(0)\n ", result)
print("计算一个series各值出现的频率") print("handling the missing data \n")
string_data = Series(['aardvark','artichoke',np.nan,'avocado'])
print("string_data is \n", string_data)
print("string_data.isnull() \n",string_data.isnull()) print("The built-in python None value is also treated as NA in object Arrays \n")
print("string_data[0]=None\n")
string_data[0]=None
print("string_data.isnull() \n ",string_data.isnull) print(" NA handling methods in P143 Table 5-12")
data = Series([1,NA,3.5,NA,7])
data.dropna()
print("data is \n",data)
print("data.dropna() is \n", data.dropna())
print("data[data.notnull()],\n",data[data.notnull()]) data = DataFrame([[1.,6.5,3.],[1.,NA,NA],[NA,NA,NA],[NA,6.5,3.]])
cleaned = data.dropna() print("data is \n",data)
print("data.dropna() is \n",cleaned)
print("data.dropna(how='all') is \n", data.dropna(how='all'))
print("passing how=all will only drop rows that are all NA") data[4]=NA
print("New data is \n", data)
print("data.dropna(axis=1,how='all') \n",data.dropna(axis=1,how='all'))
print("按照columns drop") df=DataFrame(np.random.randn(7,3))
print("df is \n",df)
df.ix[:4,1]=NA
df.ix[:2,2]=NA
print("New df is \n",df)
print("df.dropna(thresh=3)\n",df.dropna(thresh=3)) print("filling in the missing data")
print("df.fillna(0) \n",df.fillna(0))
print("df.fillna({1:0.5,3:-1}) \n",df.fillna({1:0.5,3:-1}))
print("calling fillna with a dict you can use a different fill value for each columns") _=df.fillna(0,inplace=True)
print("_=df.fillna(0,inplace=True) \n",df) df=DataFrame(np.random.randn(6,3))
print("DataFrame(np.random.randn(6,3)) \n",df)
df.ix[2:,1] = NA
df.ix[4:,2] = NA
print("df.ix[2:,1] = NA; df.ix[4:,2] = NA \n",df ) print("df.fillna(method = 'ffill') \n", df.fillna(method = 'ffill')) print("df.fillna(method = 'ffill',limit =2) \n",df.fillna(method='ffill',limit = 2)) data= Series([1.,NA,3.5,NA,7])
print("data is \n",data)
print("data.fillna(data.mean()) \n",data.fillna(data.mean())) print("fillna function arguments on P146 Table 5-13")
print("Hierarchical indexing")
data = Series(np.random.randn(10),index=[['a','a','a','b','b','b','c','c','d','d'],[1,2,3,1,2,3,1,2,2,3]])
print("data is \n",data)
print("a Series with multi-index")
print("data.index",data.index)
print("data['b'] \n",data['b'])
print("data['b':'c'] \n",data['b':'c'])
print("data.ix[['b','d']] \n",data.ix[['b','d']]) print("data[:,2] \n",data[:,2])
print("data.unstack() \n",data.unstack()) print("data.unstack().stack() \n ",data.unstack().stack()) print("data frame")
frame = DataFrame(np.arange(12).reshape((4,3)),index=[['a','a','b','b'],[1,2,1,2]],columns=[['Ohio','Ohio','Colorado'],['Green','Red','Green']])
print("frame is \n",frame)
frame.index.names =["key1","key2"]
frame.columns.names=["state","color"]
print("New frame is \n",frame) print("frame['Ohio'] \n",frame['Ohio'])
print("frame.swaplevel('key1','key2') \n", frame.swaplevel('key1','key2')) print("frame.sortlevel(1) \n",frame.sortlevel(1))
print("frame.swaplevel(0,1).sortlevel(0)\n",frame.swaplevel(0,1).sortlevel(0)) print("summary statistics by level")
print("frame.sum(level='key2') \n",frame.sum(level='key2'))
print("frame.sum(level='color',axis=1) \n",frame.sum(level='color',axis = 1)) print("Using a DataFrame's columns")
frame = DataFrame({'a':range(7),'b':range(7,0,-1),'c':['one','one','one','two','two','two','two'],'d':[0,1,2,0,1,2,3]})
print("frame is \n",frame)
frame2= frame.set_index(['c','d'])
print("creating a new Dataframe using one or more its columns as the index")
print("frame.set_index(['c','d']) \n",frame2) frame.set_index(['c','d'],drop=False)
print("frame.set_index(['c','d'],drop =False) \n",frame.set_index(['c','d'],drop=False)) print("reset_index does the opposite of set_index,the hierarchical index levels are moved into the columns")
print("frame2.reset_index() \n",frame2.reset_index()) http://www.xuebuyuan.com/2180572.html

panda 函数-处理空值的更多相关文章

  1. Access数据库中Sum函数返回空值(Null)时如何设置为0

    在完成一个Access表中数据统计时,需要统计指定字段的和,使用到了Sum函数,但统计时发现,指定条件查询统计时有可能返回空值(Null),导致对应字段显示为空白,正常应显示为0.基本思路是在获取记录 ...

  2. 用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值

    在数据库操作中,往往要对一些查询出来的空值进行替换,如函数SUM(),这个函数如果没有值会返回NULL,这是我们不希望看到的, 在MySQL中我们可以这样来写: ) ... 在SQLSERVER中我们 ...

  3. SQL Server函数之空值处理

    coalesce( expression [ ,...n ] )返回其参数中第一个非空表达式. Select coalesce(null,null,'1','2') //结果为 1 coalesce( ...

  4. sql,用 ISNULL(), NVL(), IFNULL() and COALESCE() 函数替换空值

    在数据库操作中,往往要对一些查询出来的空值进行替换,如函数SUM(),这个函数如果没有值会返回NULL,这是我们不希望看到的, 在MySQL中我们可以这样来写: ) ... 在SQLSERVER中我们 ...

  5. mysql中的ifnull()函数判断空值

    我们知道,在不同的数据库引擎中,内置函数的实现.命名都是存在差异的,如果经常切换使用这几个数据库引擎的话,很容易会将这些函数弄混淆. 比如说判断空值的函数,在Oracle中是NVL()函数.NVL2( ...

  6. NVL函数:空值转换函数

    NVL(表达式1,表达式2) 如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值. 该函数的目的是把一个空值(null)转换成一个实际的值.其表达式的值可以是数字型.字符型和日期型. ...

  7. MySQL--关于MySQL练习过程中遇到的AVG()函数处理空值的问题

    最近正准备面试,所以本来不怎么熟悉的SQL语句迫切需要练习,学习一下 在此感谢 笨鸟先飞-天道酬勤 大佬的博客:https://blog.csdn.net/dehu_zhou/article/deta ...

  8. oracle之简null空值问题,用nvl(a,b)函数解决

    oracle之简null空值问题,用nvl(a,b)函数解决 原文链接:https://blog.csdn.net/u013821825/article/details/48766749 oracle ...

  9. Oracle_SQL函数-分组函数

    分组函数 什么是分组函数 分组函数作用于一组数据,并对一组数据返回一个值 组函数类型:主要有6种 AVG - 平均 COUNT - 计数 MAX - 最大 MIN - 最小 SUM - 求和 STDD ...

随机推荐

  1. C# 中利用 Conditional 定义条件方法

    利用 Conditional 属性,程序员可以定义条件方法.Conditional 属性通过测试条件编译符号来确定适用的条件.当运行到一个条件方法调用时,是否执行该调用,要根据出现该调用时是否已定义了 ...

  2. django内置 Contenttypes 框架

    一.什么是Django ContentTypes? 1.Django 包含一个ContentTypes 应用,它可以追踪安装在你的Django 项目里的所有应用,并提供一个高层次的.通用的接口用于与你 ...

  3. 随机深林和GBDT

    随机森林(Random Forest): 随机森林是一个最近比较火的算法,它有很多的优点: 在数据集上表现良好 在当前的很多数据集上,相对其他算法有着很大的优势 它能够处理很高维度(feature很多 ...

  4. memcache服务端与客户端的安装部署

    1)安装memcached前需要先安装libevent [root@aliyun tools]# tar -zxf libevent-1.4.13-stable.tar.gz [root@aliyun ...

  5. k8s-离线安装coreos

    1.安装准备 下载iso 前往页面https://coreos.com/os/docs/latest/booting-with-iso.html 版本:stable 1465.7.0 日期:2017. ...

  6. codeblocks opengl的配置

    codeblocks opengl的配置 GLUT 3.7 下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip ...

  7. PKU 3020 Antenna Placement(拆点+最小边覆盖)(最大匹配)

    题目大意:原题链接 一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市.问至少放置多少个基站才能使得所有的城市都覆盖无线? 提示:看清楚题目,' ...

  8. linux上使用wget下载文件

    首次安装的centos操作系统是没有安装wget的,所以首先需要先安装wget,然后才能使用wget下载文件. 1.第一步,保证centos能正常连网.使用命令  :yum -y install wg ...

  9. hTML5 多图上传预览

    <p> <label>请选择一个文件:</label> <input type="file" id="file" mu ...

  10. springcloud---2

    每一个都是独立的springboot工程.通过自己的ip和端口访问. Eureka是服务发现组件,Eureka里面有一个服务注册表,存的是服务消费者和服务生产者的ip和端口.Eureka集群里面每个E ...