pandas在numpy的基础上,优化了数据结构,在数据的存储、读取、切割、转换等方面进行了改进,使操作更简单。
常用数据对象
pandas提供三种数据对象,分别是Series(保存一维类数据),DataFrame(保存二维类数据,表格)和Panel(保存三维类或可变纬度数据)
Series对象
解决数组索引意义不明确的问题
Series对象有别于Numpy的ndarray对象,它显示的内容不仅包含元素,也包含索引,并且这个索引是有意义的
如果索引不传值,那就是位置索引,0,1,2,......
data可以是数组、列表等类数组对象,也可以数字,字符串,也可以是字典
当data是字典时,标签索引由key来充任
#index参数用来指定顺序 gdp=pd.Series({"wuhan":5225.6,"nanjing":5558.6,‘hangzhou‘:5255.4}, index=[‘nanjing‘,‘hangzhou‘,‘wuhan‘]) print(gdp) """ nanjing 5558.6 hangzhou 5255.4 wuhan 5225.6 dtype: float64 """ #每一个series对象都有index和values两个基本属性,可以获得标签索引和值,也可以进行修改 """ Series对象具有name属性,可以对本对象进行描述 标签索引也是对象——index对象,具有name属性,可以进行描述 """ gdp.name="GDP DATA(bian de)" gdp.index.name=‘city‘ print(gdp) """ city nanjing 5558.6 hangzhou 5255.4 wuhan 5225.6 Name: GDP DATA(bian de), dtype: float64 """
DataFrame对象
使用二维数组存储表,就无法存储字典名称
pd.DataFrame()
主要3个参数,data,index(行索引标签),columns(列索引标签)
data可以是嵌套列表、二维数组、字典或者是DataFrame对象。字典的数据除字符串,数字等基本Python数据类型外,可以包含Series、数组等序列化类型的对象。
#data是嵌套列表 gp=pd.DataFrame([[2521.6,4222.5],[22552.5,5222.6],[53233.3,52522.6]], index=[‘Shanghai‘,‘nanjing‘,‘qidong‘], columns=[‘GDP‘,‘population‘]) #和series一样可以给columns和index命名 gp.index.name=‘City‘ gp.columns.name=‘items‘ print(gp) """ items GDP population City Shanghai 2521.6 4222.5 nanjing 22552.5 5222.6 qidong 53233.3 52522.6 """ #data是字典,字典的key充当columns,字典的value充当具体的值 gdp=pd.DataFrame({‘GDP‘:[2521.6,22552.5,53233.3],‘Population‘:[4222.5,5222.6,52522.6]}, index=[‘Shanghai‘,‘nanjing‘,‘qidong‘]) #data也可以是自定义类型的数组 data=np.array([(‘beijing‘,100.00),(‘hubei‘,82.57),(‘shanghai‘,82.47)],dtype=[("city",‘S30‘),(‘marks‘,np.float_)]) test=pd.DataFrame(data,index=[‘PKU‘,‘WHU‘,‘Fudan‘]) print(test) """ city marks PKU b‘beijing‘ 100.00 WHU b‘hubei‘ 82.57 Fudan b‘shanghai‘ 82.47 """
原文:https://www.cnblogs.com/shatianhui/p/14774027.html