目录
Pandas中的结构数据
说明 | ||
Series | 类似数组 | 一种一维数组对象,包含一个值序列,并且包含数据标签,称为索引(index),通过索引来访问数组中的数据。 |
DataFrame | 类似表格 | 一个表格型的数据结构,它含有一组有序的列,每列可以是不同类型的值(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看作由Series组成的字典(共用同一个索引)。跟其他类似的数据结构相比(如R的data.frame),DataFrame中面向行和面向列的操作基本上是平衡的。 构建DataFrame的方式有很多,最常用的是直接传入一个由等长列表或NumPy数组组成的字典来形成DataFrame。 |
Panel | 可视为Excel的多表单 |
Series
功能 | 示例代码 | 说明(运行结果) |
创建 | obj = pd.Series([1,-2,3,-4]) | |
指定索引 | obj1 = pd.Series(obj,index = i,name = "col") | index每行为索引名 name是对该数组命名 |
位置与标签使用 | obj = pd.Series([1,-2,3,-4]) print(obj[0],obj.index) | |
字典创建 | sdata = ('a':0,'b':1,'c':2) obj2 = pd.Series(sdata) | |
字典键值与索引不匹配 | letter = ['a','b','c','d'] obj3 = pd.Series(sdata,index = letter) | 输出中d的键值为NaN |
自动对齐不同索引数据 | sdata = {'Ohio': 35000, 'Texas': 71000, 'Oregon': 16000, 'Útah': 5000] obj1 = pd.Series(sdata) states = ['California', 'Ohio', 'Oregon', 'Texas'] obj2 = pd.Series(sdata, index= states) print(obj1+obj2) | California NaN Ohio 70000.0 Oregon 32000.0 Texas 142000.0 Utah NaN dtype: float64 |
索引修改 | obj.index = ['aa','bb','cc','dd'] |
DataFrame
功能 | 示例代码 | 说明 |
创建 | data = { 'name':['张三','李四','王五','小明'], 'sex':['female','female','male','male'], 'year':[2001,2001,2003,2002], 'city':['北京','上海','广州','北京'] } df = pd.DataFrame(data) | |
指定+自动索引 | df1 = pd.DataFrame(data,columns = ['name','sex','year','city']) | |
自动补空缺值为NaN | df1 = pd.DataFrame(data,columns = ['name','sex','year','city','address']) | |
指定列名 | df1 = pd.DataFrame(data,columns = ['name','sex','year','city'], index = ['a,'b','c','d']) | |
显示索引与列 | print(df1.index) print(df1.columns) | |
查找 | print('name' in df1.columns) print('a' in df1.index) | ture ture |
Index 的常用方法与属性
方法 | 属性 |
append | 连接另一个Index对象,产生一个新的Index |
diff | 计算差集,并得到一个Index |
intersection | 计算差集,并得到一个Index |
union | 计算并集 |
isin | 计算一个指示各值是否都包含在参数集合中的布尔型数组 |
delete | 删除索引i处的元素,并得到新的Index |
drop | 删除传入的值,并得到新的Index |
insert | 将元素插入索引i处,并得到新的Index |
is_monotonic | 当各元素均大于或等于前一个元素时,返回True |
is.unique | 当Index没有重复值时,返回True |
unique | 计算 Index中唯一值的数组 |
索引值的插入:df1.index.insert(1,'w') 在0和1位置间插入w
DataFrame 的常用属性
DataFrame的基础属性有values、index、columns、dtypes、ndim和shape,分别可以获取DataFrame的元素、索引、列名、类型、维度和形状。