利用python进行数据分析——DataFrame基本操作

本篇介绍操作Series和DataFrame的基本手段。

1. 对DataFrame的列进行赋值

  • 将列表、数组、元组赋值为DataFrame的列,长度匹配即可
  • 将Series赋值给DataFrame的列,二者的索引会精确匹配(索引不会合并,依旧是DataFrame的索引)
  • 若被赋值的列不存在,则会创建一个新列

 2. 删除DataFrame的列(del)

 3. DataFrame的name和values属性

  • DataFrame.index.name
  • DataFrame.columns.name
  • DataFrame.values(会以二维ndarray的形式返回DataFrame中的数据,如果DataFrame中各列数据类型不同,则会返回能兼容所有列的数据类型)

4. 重新索引(reindex)

    创建一个适应新索引的新对应(copy)

  • Series的重新索引

        1). 根据新索引进行重排

        2). 索引不存在,则会引入缺失值

              2.1) 通过fill_value参数(scaler),填充缺失值

              2.2) 通过method参数,进行插值处理(注意:原Series的index需为单调递增或者单调递减,否则无法进行差值处理,通常用于时间序列)

  •  DataFrame的重新索引

         1) 通过index参数对行进行重新索引

         2) 通过columns参数对列进行重新索引

         3) 也可同时进行索引

         4) 采用loc方法

 5. 丢弃指定轴上的项(drop)

  • 参数1:索引数据or索引列表
  • 参数2:axis(0 or 1)

6. 算术运算与数据对齐

  • Series与Series之间的算术运算(+、-、*、/)

        直接运算:

                index之间进行合并

                不重叠的索引处引入NaN

                缺失值在运算过程中会传播

        间接运算:

                add()、sub()、mul()、div()

                参数fill_value填充缺失值

  • DataFrame与DataFrame之间的算术运算(+、-、*、/)

        直接运算:

                合并(同时发生在index和columns上)

                不重叠的索引处引入NaN

                缺失值在运算过程中会传播

        间接运算:

                add()、sub()、mul()、div()

                参数fill_value填充缺失值

  • DataFrame与Series之间的算术运算(+、-、*、/)

        直接运算:

                默认:Series的索引将会匹配到DataFrame的列上,沿着行向下传播

               索引之间进行合并

               不重叠的索引处引入NaN

                缺失值在运算过程中会传播

        间接运算:

                add()、sub()、mul()、div()

                参数fill_value填充缺失值

                参数axis确定所匹配的轴

 

 

 

 7. 函数应用和映射

  • Numpy的ufuncs(元素级数组操作方法,也可用于操作pandas对象)
  • DataFrame.apply():针对DataFrame中的一整行或者一整列进行运算
  • DataFrame.applymap():针对DataFrame中的每个元素进行运算

 8. 排序和排名

  • 按索引排序(sort_index())
  1. axis:按行索引或列索引进行排名
  2. ascending:升序or降序
  3. inplace:是否替换
  4. kind:排序方法
  5. na_position:控制排在开头or末尾
  6. by:根据值排序,现在还可用,但是FutureWarning: by argument to sort_index is deprecated, please use .sort_values(by=...)
  • 按值排序
  1. Series:按值排序
  2. DataFrame:按一个或者多个列进行排序(也有axis参数,按照行排序,但是前提是依据排序的行是可比较的
  • 获得排名(rank)
  1. method选项:average、min、max、first
  2. Series排名
  3. DataFrame排名

示例1(sort_index):

示例2(sort_values):

示例3(rank):

 

 

 9. 带有重复值的轴索引

     Pandas数据结构可以带有重复索引值。对于带有重复值的索引,数据选取的行为将会有所不同

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值