Pandas之Series、DataFrame、MultiIndex

1. Series

  • Series是一个类似于一维数组的数据结构,它能够保存任何类型的数据
  • 主要由一组数据和与之相关的索引两部分构成。

1.1 Series的创建

  • pd.Series(data=Node,index=None,dtype=None)
    • data:传入的数据,可以是ndarray,list等
    • index:传入的索引,要与数据长度相等
    • dtype:数据的类型

1.2 Series对象的属性

  • index
  • values

1.3 Series对象的方法

  • series.sort_values(ascending=True)
  • series.add(数字)
    • 需要series里面存的values是数字类型
  • series.sub(数字)
    • 同上
  • 逻辑运算
    • values中的每个元素进行逻辑运算
  • series.isin(values)
    • values:一个集合序列
    • 也是一种逻辑运算
  • series.apply(func)
    • func:自定义函数
  • series.value_counts()
    • 统计series中元素出现的次数

1.3 可以利用Series对象的索引获取数据

series[2]

2. DataFrame

2.1 DataFrame的创建

  • pd.DataFrame(data=None,index=None,columns=None)
    • index:行索引
    • columns:列索引

2.2 DataFrame的属性

  • shape
  • index
  • columns
  • values
  • T :转置

2.3 DataFrame的实例方法

  • data.head(n=5)
  • data.tail(n=5)
  • data.reset_index(drop=False)
    • 重置索引
    • drop:是否丢弃原来的索引。
  • data.set_index(keys,drop=True)
    • keys:列索引名称(单级索引)列索引名称组成的列表(多级索引)
    • drop:是否将指定作为索引的列删除
  • data.sort_values(by,ascending=True)
    • by:按单个列或多个列进行排序
    • 返回一个新视图
  • data.sort_index(ascending=True)
    • 按索引进行排序
    • 返回一个新视图
  • data.query(查询语句字符串)
    • 查询指定的行记录
    • data.query("open<24 & open > 23")
  • data.describe()
    • 统计运算:count,mean,std,min,max
    • 只针对数值类型进行统计
  • data.apply(func,axis=0)
    • func:自定义函数
    • axis=0:默认拿到每一列进行自定义运算

2.4DataFrame关于统计的实例函数

  • 普通统计函数:默认axis=0,即按列统计
函数名说明
sumSum of values
meanMean of values
medianArithmetic median of values
minMinimum
maxMaximum
modeMode
absAbsolute Value
prodProduct of values
stdBessel-corrected sample standard deviation
varUnbiased variance
idxmaxcompute the index labels with the maximum
idxmincompute the index labels with the minimum
  • 累计统计函数
函数作用
cumsum计算前1/2/3/…/n个数的和
cummax计算前1/2/3/…/n个数的最大值
cummin计算前1/2/3/…/n个数的最小值
cumprod计算前1/2/3/…/n个数的积

2.5 DataFrame的索引操作

  • data['open']['2018-02-27']
    • 先列后行
    • 不支持切片
  • data.loc['2018-02-27':'2018-02-22','open']
    • 按索引查询
    • 先列后行
    • 支持切片
  • data.iloc[:3,:5]
    • 按索引的下标查询
    • 先列后行
    • 支持切片
  • data.ix[0:4,['open','close','high']]
    • 不推荐

2.6 修改某一列的值或新增某一列

  • data['close']=1
    • 有则修改
    • 无则新增
  • data.close=1
    • 只能修改某一列的值

2.7 数据查询

  • data[data['open']>23]
    • 返回一个DataFrame视图
  • data[(data["open"] > 23) & (data["open"] < 24)]
    • 多个逻辑判断

3. MultiIndex

3.1 multiIndex的创建

arrays = [[1, 1, 2, 2], ['red', 'blue', 'red', 'blue']]
pd.MultiIndex.from_arrays(arrays, names=('number', 'color'))

# 结果
MultiIndex(levels=[[1, 2], ['blue', 'red']],
           codes=[[0, 0, 1, 1], [1, 0, 1, 0]],
           names=['number', 'color'])

 3.2 multiIndex的属性

  • names:levels的名称
  • levels:每个level的元祖值
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值