1. 今天这里谈的函数,以后进行数据分析的时候会经常用到。
  2.  
  3. import numpy as np
    import pandas as pd
    from pandas import DataFrame , Series
    from numpy import nan as NA
  4. obj = Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])
  5.  
  6. uniques = obj.unique()
    print("obj is \n", obj)
    print("obj.unique is \n ", obj.unique())
    print("uniques.sort() is \n", uniques.sort())
  7.  
  8. 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))
  9.  
  10. 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])
  11.  
  12. data= DataFrame(
  13.     {
  14.         'Qu1':[1,3,4,3,4],
            'Qu2':[2,3,1,2,3],
            'Qu3':[1,5,2,4,4]
  15.     }
  16. )
  17.  
  18. print ("data is \n",data)
  19. result = data.apply(pd.value_counts).fillna(0)
  20.  
  21. print("data.apply(pd.value_counts).fillna(0)\n ", result)
    print("计算一个series各值出现的频率")
  22.  
  23. print("handling the missing data \n")
  24. string_data = Series(['aardvark','artichoke',np.nan,'avocado'])
    print("string_data is \n", string_data)
    print("string_data.isnull() \n",string_data.isnull())
  25.  
  26. print("The built-in python None value is also treated as NA in object Arrays \n")
    print("string_data[0]=None\n")
  27. string_data[0]=None
    print("string_data.isnull() \n ",string_data.isnull)
  28.  
  29. print(" NA handling methods in P143 Table 5-12")
  30. data = Series([1,NA,3.5,NA,7])
  31. data.dropna()
    print("data is \n",data)
    print("data.dropna() is \n", data.dropna())
    print("data[data.notnull()],\n",data[data.notnull()])
  32.  
  33. data = DataFrame([[1.,6.5,3.],[1.,NA,NA],[NA,NA,NA],[NA,6.5,3.]])
  34. cleaned = data.dropna()
  35.  
  36. 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")
  37.  
  38. 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")
  39.  
  40. df=DataFrame(np.random.randn(7,3))
    print("df is \n",df)
  41. df.ix[:4,1]=NA
  42. df.ix[:2,2]=NA
    print("New df is \n",df)
    print("df.dropna(thresh=3)\n",df.dropna(thresh=3))
  43.  
  44. 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")
  45.  
  46. _=df.fillna(0,inplace=True)
    print("_=df.fillna(0,inplace=True) \n",df)
  47.  
  48. df=DataFrame(np.random.randn(6,3))
    print("DataFrame(np.random.randn(6,3)) \n",df)
  49. df.ix[2:,1] = NA
  50. df.ix[4:,2] = NA
    print("df.ix[2:,1] = NA; df.ix[4:,2] = NA \n",df )
  51.  
  52. print("df.fillna(method = 'ffill') \n", df.fillna(method = 'ffill'))
  53.  
  54. print("df.fillna(method = 'ffill',limit =2) \n",df.fillna(method='ffill',limit = 2))
  55.  
  56. data= Series([1.,NA,3.5,NA,7])
    print("data is \n",data)
    print("data.fillna(data.mean()) \n",data.fillna(data.mean()))
  57.  
  58. print("fillna function arguments on P146 Table 5-13")
    print("Hierarchical indexing")
  59. 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']])
  60.  
  61. print("data[:,2] \n",data[:,2])
    print("data.unstack() \n",data.unstack())
  62.  
  63. print("data.unstack().stack() \n ",data.unstack().stack())
  64.  
  65. print("data frame")
  66. 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)
  67. frame.index.names =["key1","key2"]
  68. frame.columns.names=["state","color"]
    print("New frame is \n",frame)
  69.  
  70. print("frame['Ohio'] \n",frame['Ohio'])
    print("frame.swaplevel('key1','key2') \n", frame.swaplevel('key1','key2'))
  71.  
  72. print("frame.sortlevel(1) \n",frame.sortlevel(1))
    print("frame.swaplevel(0,1).sortlevel(0)\n",frame.swaplevel(0,1).sortlevel(0))
  73.  
  74. 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))
  75.  
  76. print("Using a DataFrame's columns")
  77. 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)
  78. 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)
  79.  
  80. frame.set_index(['c','d'],drop=False)
    print("frame.set_index(['c','d'],drop =False) \n",frame.set_index(['c','d'],drop=False))
  81.  
  82. 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())
  83.  
  84. 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. yum install mysql on centos 6.5 zz

    http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 1.使用yum命令进行mysql的安装 yum list ...

  2. 线程管理coroutine

    非常好用的协程库,也可以当作线程管理来用 #include "coroutine.h" #include <stdio.h> struct args { int n; ...

  3. 文件传输(xmodem协议)

    https://www.menie.org/georges/embedded/ 需要移植如下两个基础的硬件读写函数 int _inbyte(unsigned short timeout); void ...

  4. HDU1087:Super Jumping! Jumping! Jumping!(简单dp)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1087 水题,可是我却因为dp数组的初始化造成了多遍wa,这题就是求上升序列的最大和. 转移方程: 首先要对 ...

  5. 斐迅面试记录—Http协议中的Header

    HTTP Request的Header信息 1.HTTP请求方式 如下表: 说明:  主要使用到“GET”和“POST”. 实例: POST /test/tupian/cm HTTP/1.1 分成三部 ...

  6. 2017 Multi-University Training Contest - Team 3 Kanade's sum hd6058

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6058 题目: Kanade's sum Time Limit: 4000/2000 MS (J ...

  7. 金融 贷款类 App 审核被拒 4.3 1.2 2.1 4.2.2 问题总结

    辛辛苦苦搞了一两个月,开发测试修bug,一路艰辛,到了审核这最后一关,各位同仁,咬紧牙关!接下来是鄙人遇到过的被拒问题,望能帮到诸君! ******************************** ...

  8. 使用tar解压文件报归档中找不到

    1.今天使用tar命令解压jdk安装包时,报如下错误.tar -zxvf jdk-8u181-linux-x64.tar.gz /usr/local/java/ 2.后来查了一下,因为我解压当前的文件 ...

  9. MySQL的索引是什么?怎么优化?

    索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本.MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的.My ...

  10. COJS:1829. [Tyvj 1728]普通平衡树

    ★★★   输入文件:phs.in   输出文件:phs.out   简单对比 时间限制:1 s   内存限制:128 MB [题目描述] 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需 ...