Chapter5-1: pandas 数据结构介绍
来源:互联网 发布:怎么让手机网络变快 编辑:程序博客网 时间:2024/06/05 11:08
'''
Chapter5-1: pandas 数据结构介绍
索引:
一、 Series(序列数据)
1.生成Series:pd.Series(value,index),index 默认0123...
2.Series({'a':1})#传入字典数据生成序列 #定长的字典
3.isnull() notnull() 检测缺失值
4.数据对齐功能:对应index会对齐进行操作,只在一边的生成NAN
5.Series的索引可以通过赋值就地修改
二、DataFrame (表数据)
1.创建DataFrame: DataFrame(data) 其中data是字典数据,每个键的值是一个列表
2.frame.column==frame['column']#得到一个Series
3.可以按照编号输出某行frame.ix[行号]
4.通过赋值方式可以传入新的属性frame['newcolumn'],但是frame.newcolumn不可
5.frame['column'] = sdata 如果sdata是个序列数据,则根据sdata的index精确匹配插入,没有value的补NAN
6.del函数可以删除列 del frame['column']
7.嵌套字典{'a':{...},'b':{...}}
三、索引对象
1.index对象负责管理index和columns
2.index 对象不可修改,可以删除和增加,但是只是index对象的内容变了,数据本身没有变化
四.函数备忘
create at 2016-12-20
@author: Bigboy
Chapter5-1: pandas 数据结构介绍
索引:
一、 Series(序列数据)
1.生成Series:pd.Series(value,index),index 默认0123...
2.Series({'a':1})#传入字典数据生成序列 #定长的字典
3.isnull() notnull() 检测缺失值
4.数据对齐功能:对应index会对齐进行操作,只在一边的生成NAN
5.Series的索引可以通过赋值就地修改
二、DataFrame (表数据)
1.创建DataFrame: DataFrame(data) 其中data是字典数据,每个键的值是一个列表
2.frame.column==frame['column']#得到一个Series
3.可以按照编号输出某行frame.ix[行号]
4.通过赋值方式可以传入新的属性frame['newcolumn'],但是frame.newcolumn不可
5.frame['column'] = sdata 如果sdata是个序列数据,则根据sdata的index精确匹配插入,没有value的补NAN
6.del函数可以删除列 del frame['column']
7.嵌套字典{'a':{...},'b':{...}}
三、索引对象
1.index对象负责管理index和columns
2.index 对象不可修改,可以删除和增加,但是只是index对象的内容变了,数据本身没有变化
四.函数备忘
create at 2016-12-20
@author: Bigboy
'''
实践内容:
#-*- coding:utf-8 -*-from pandas import Series,DataFrame#1-------------------------------------------#Series obj = Series([3,4,5,6])print obj print obj.indexprint obj.valuesobj1 = Series([3,4,5,6],index=['a','b','c','d'])print obj1print obj1['d']print obj1[['c','d']]#注意[]内是个数组print obj1[obj1>3]print obj1*2print 'd' in obj1 #定长的字典'''out:0 31 42 53 6dtype: int64RangeIndex(start=0, stop=4, step=1)[3 4 5 6]a 3b 4c 5d 6dtype: int646c 5d 6dtype: int64b 4c 5d 6dtype: int64a 6b 8c 10d 12dtype: int64True'''#2-3-------------------------------------------------------------------------------#Series可以看做是定长的字典sdata = {'a':1,'b':2,'c':3}obj2 = Series(sdata)#传入字典,得到字典全部的值print obj2 sindex = ['a','b','d']obj3 = Series(sdata,sindex)#传入sindex中含有sdata中不存在,也能存到obj,但是对应的value是NANprint obj3print obj3.isnull()'''out:a 1b 2c 3dtype: int64a 1.0b 2.0d NaNdtype: float64a Falseb Falsed Truedtype: bool'''#5-------------------------------------------------------------------------------------obj2.index = ['TOM','BOB','EVE']print obj2'''out:TOM 1BOB 2EVE 3dtype: int64'''###================================================================================================================####DataFrame#1-2---------------------------------------------------------------------data = {'age':[1,2,3,4,5], 'year':[2005,2006,2004,2008,2018], 'name':['Bob','Tom','Tim','Cok','SN'] }frame = DataFrame(data)#自动加上序号print frameprint DataFrame(data,columns=['name'])#可以输入列属性按顺心排列print DataFrame(data,columns=['name'],index=[1,2,3,4,5])#还可以加入index参数print DataFrame(data,columns=['name','d'])#输入没有的属性得到一列NANprint frame.year#直接调用属性print frame['year']#按照属性值查找,返回的是一个Series'''out: age name year0 1 Bob 20051 2 Tom 20062 3 Tim 20043 4 Cok 20084 5 SN 2018 name0 Bob1 Tom2 Tim3 Cok4 SN name 1 Bob2 Tom3 Tim4 Cok5 SN name d0 Bob NaN1 Tom NaN2 Tim NaN3 Cok NaN4 SN NaN0 20051 20062 20043 20084 2018Name: year, dtype: int640 20051 20062 20043 20084 2018Name: year, dtype: int64'''#3-4------------------------------------------------------------------------------print frame.ix[2]frame['date'] = '1220'print frame'''out: age 3name Timyear 2004Name: 2, dtype: object age name year date0 1 Bob 2005 12201 2 Tom 2006 12202 3 Tim 2004 12203 4 Cok 2008 12204 5 SN 2018 1220'''#6------------------------------------------------------------------------------del frame['date']print frame'''out: age name year0 1 Bob 20051 2 Tom 20062 3 Tim 20043 4 Cok 20084 5 SN 2018'''print frame.ix[1]['name']#name列的第1个值print frame['age'][1]print frame.T#转置自身不变print frame'''out:Tom2 0 1 2 3 4age 1 2 3 4 5name Bob Tom Tim Cok SNyear 2005 2006 2004 2008 2018 age name year0 1 Bob 20051 2 Tom 20062 3 Tim 20043 4 Cok 20084 5 SN 2018'''#nndarray构造frameimport numpy as npdata = np.arange(16).reshape(4,4)frame2 = DataFrame(data)print frame2#12-----------------------------------------------------------------------index = frame2.indexindex =index.delete(1)print indexprint frame2for i in index: print frame2.ix[i]
函数备忘:
0 0
- Chapter5-1: pandas 数据结构介绍
- chapter5 Pandas入门
- python:pandas(1),数据结构介绍
- 02-pandas数据结构介绍
- Pandas : 基本数据结构介绍
- pandas---数据结构介绍
- 第5章-1 Pandas的数据结构介绍Series
- pandas入门-数据结构(1)
- pandas小记:pandas数据结构
- Python pandas 0.19.1 Intro to Data Structures 数据结构介绍 文档翻译
- pandas数据结构
- pandas数据结构
- chapter5
- chapter5
- chapter5
- Chapter5
- python的pandas库里的数据结构介绍
- pandas介绍
- TestArrayList
- 交互设计
- (课堂讨论)编程是一碗“青春饭”?编程是一门科学或艺术。
- 对javascript异步和单线程的理解
- OpenCV 3 - 编译更强大的OpenCV(三) - BUG与崩溃齐飞(续1s)一点小补充
- Chapter5-1: pandas 数据结构介绍
- Android 掌握自定义LayoutManager(一) 系列开篇 常见误区、问题、注意事项,常用API。
- js获取页面get传递的参数
- PAT-堆中的路径 (Java实现)
- zabbix 添加web监控
- MySQL 5.7及以上解压缩版本配置安装
- Windows下使用DOS命令进入MySQL数据库
- 1.13 Codeforces 30D Kings Problem 贪心 计算几何
- Android上实现一个简单的天气预报APP(九) ListView展示城市列表、单击更新天气数据