欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于pandas

程序员文章站 2022-03-09 20:31:20
...

1.关于pandas

概念:基于numpy构建,为数据分析而存 --- 数据分析核心工具包
优点:
	1.一维数组series + 二维数组dataframe
    2.可直接读取数据并做处理(高效简单)
    3.兼容各种数据库
    4.支持各种算法分析

2.Pandas数据结构Series

概念:是带有标签的以为数组,能够保存任意类型的数据(整数,字符串,浮点数等)
注意:
	1.series相比较ndarray,是一个自带索引index的数组 -> 一维数组 + 对应索引,所以
    当我们只看series的值时,就是一个一维数组。
    2.series与ndarray的索引切片功能差别不大
    3.series和字典相比,series更像是一个有顺序的字典,其索引原理和index相似(一个用key,一个用index)
	4.index查看的是series索引,values查看的是series值
    
Series创建方式有以下几种:
	1.由字典进行创建
    	格式:dic = {}
        	 s = pd.Series(dic) 
             注意:字典的key就是index,values就是value
    2.由数组进行创建
    		 arr = np.random.randn(5)
        	 s = pd.Series(arr)
             注意:可以设置index参数,长度保持一致。
                  可以设置dtype,用来设置数值类型
    3.由标量进行创建
    		 s = pd.Series(100,index=range(4)) 
        	 注意:如果是标量值,则必须提供索引,会重复该值,来匹配索引长度,如果不加索引,则为0
Series的名称属性:
	关键字:name
    作用:可以用来设置标题
    更改已有标题:rename
    注意:
    	1.name方法是用来删除数组的名称,输出格式为str,如果没有定义输出名称,则输出为None
        2.rename方法是重新命名一个数组的名称,并创建新数组,原数组不变
    
Series下标:
	注意:该下标取值与list有点不一样,不能取-1如:s[-1]
    
Series标签索引:
	1.方法类似下标索引,用[]表示,内写上index,注意 index是字符串,在使用index切片时,包含末值
    2.如果需要选择多个标签的值,用[[]]来表示 ---> 相当于[]中包含一个列表
    3.多标签索引结果是一个新的数组

布尔型索引:
	可以直接通过下标进行添加空值:
    	s[3] = None 或者 s[3] = np.Nan
    数组做判断之后返回的是一个由布尔值组成的新数组:
    	bs1 = s > 50 ---> 如果值大于50,该位置返回的则是True,否则是False
    isnull() 与 notnull :
    	作用:判断是否为空值 
        注意:None是空值,Nan代表有问题的数值,两个都会识别为空值
    
数据的查看:
	1.head()
    	作用:查看头部数据
    2.tail()
    	作用:查看尾部数据,默认查看5条记录

重新索引:
	关键字:reindex
    作用:会根据索引进行重新排序,如果当前索引不存在,则引入缺失值 Nan
    注意:
    	1.reindex中也是写列表
        2.对于缺失值,我们可以使用 fill_value参数进行填充,例如:
        	s2 = s1.reindex(['a','b','c'],fill_value=1)
            解释:使用a b c 进行索引排序,缺失值使用1填充
            
Series的对齐:
	1.series上的操作会根据标签自动对齐,例如:
    	s1 = pd.Series(np.random.rand(3), index = ['Jack','Marry','Tom'])
		s2 = pd.Series(np.random.rand(3), index = ['Wang','Jack','Marry'])
    2.index的顺序不会影响数值计算,以标签来计算
    3.空值和任何值进行计算结果仍为空值
    
Series中的删除:
	关键字:drop
    方法:根据索引进行删除,可以一次删除一个,也可以使用[]的方式一次删除多个
    注意:drop删除元素之后返回副本(inspace=False),即创建一个新数组,如果
    	 inspace=True,则修改的是原数组,不会创建新数组。
        
Series元素添加:
	1.直接通过下标索引/标签索引进行添加值,例如:
    	s1[6] = 8
        s2['a'] = 10
    2.通过append方法也可以添加,添加的是一个数组,并生成一个新的数组,不改之前的数组

Series修改:
	和list没什么太大的区别:
    	通过索引或者切片直接修改,如果使用切片记得在[]中放一个列表