Python之Pandas中Series、DataFrame实践

1. pandas的数据结构Series

1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。
1.2 Series的字符串表现形式为:索引在左边,值在右边。

2. pandas的数据结构DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值的)。

dataframe中的数据是以一个或者多个二位块存放的(而不是列表、字典或者别的一维数据结构)。

3.索引对象

pandas的索引对象负责管理轴标签和其他元素(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index。
Index对象是不可修改的。

4. pandas的主要Index对象

Index       最泛化的Index对象,将轴标签表示为一个由Python对象组成的NumPy数组
Int64Index 针对整数的特殊Index
MultiIndex “层次化”索引对象,表示单个轴上的多层索引。可以看做由元数组组成的数组
DatetimeIndex 存储纳秒级时间戳(用NumPy的datetime64类型表示)
PeriodIndex 针对Period数据(时间间隔)的特殊Index

5. 操作Series和DataFrame中的数据的基本手段

5.1 重新索引 reindex
5.2 丢弃指定轴上的项 drop
5.3 索引、选取和过滤(.ix)
5.4 算数运算和数据对齐
DataFrame和Series之间的算数运算默认情况下会将Series的索引项 匹配到DataFrame的列,然后沿着行一直向下广播。(如果希望匹配行且在列上广播,则必须使用算数运算方法)

6. 函数应用和映射

NumPy的ufuncs(元素级数组方法)也可用操作pandas对象
DataFrame中将函数应用到由各列或各行所行成的一维数组上可用apply方法。

7. 排序和排名

要对行或列索引进行排序(按字典顺序),可使用sort_index方法,它将返回一个已排序的新对象;对于DataFrame,则可以根据任意一个轴上的索引进行排序。

8. 汇总和计算描述统计

8.1 相关系数corr与协方差cov
8.2 成员资格isin,用于判断矢量化集合的成员资格,可用于选取Series或DataFrame列数据的子集。

9. 处理缺失数据(Missing data)

9.1 pandas使用浮点值NaN(Not a Number)表示浮点和非浮点数组中的缺失数据。
9.2 NA处理办法
dropna 根据各标签值中是否存在缺失数据对轴标签进行过滤,可通过阀值调节对缺失值的容忍度
fillna 用指定的或插值方法(如ffil或bfill)填充缺失数据
isnull 返回一个含有布尔值的对象,这些布尔值表示哪些值是缺失值/NA,该对象的类型与源类型一样
notnull isnull的否定式

10. 层次化索引

层次化索引(hierarchical indexing)是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。抽象点说,它是你能以低维度形式处

Python之Pandas中Series、DataFrame的更多相关文章

  1. Python之Pandas中Series、DataFrame实践

    Python之Pandas中Series.DataFrame实践 1. pandas的数据结构Series 1.1 Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一 ...

  2. python数据分析pandas中的DataFrame数据清洗

    pandas中的DataFrame中的空数据处理方法: 方法一:直接删除 1.查看行或列是否有空格(以下的df为DataFrame类型,axis=0,代表列,axis=1代表行,以下的返回值都是行或列 ...

  3. Pandas 之 Series / DataFrame 初识

    import numpy as np import pandas as pd Pandas will be a major tool of interest throughout(贯穿) much o ...

  4. Pandas中Series和DataFrame的索引

    在对Series对象和DataFrame对象进行索引的时候要明确这么一个概念:是使用下标进行索引,还是使用关键字进行索引.比如list进行索引的时候使用的是下标,而dict索引的时候使用的是关键字. ...

  5. python – 基于pandas中的列中的值从DataFrame中选择行

    如何从基于pandas中某些列的值的DataFrame中选择行?在SQL中我将使用: select * from table where colume_name = some_value. 我试图看看 ...

  6. pandas中遍历dataframe的每一个元素

    假如有一个需求场景需要遍历一个csv或excel中的每一个元素,判断这个元素是否含有某个关键字 那么可以用python的pandas库来实现. 方法一: pandas的dataframe有一个很好用的 ...

  7. Pandas之Series+DataFrame

    Series是带有标签的一维数组,可以保存任何数据类型(整数,字符串,浮点数,python对象) index查看series索引,values查看series值 series相比于ndarray,是一 ...

  8. pandas中Series对象下的str所拥有的方法(df["xx"].str)

    在使用pandas的时候,经常要对DataFrame的某一列进行操作,一般都会使用df["xx"].str下的方法,但是都有哪些方法呢?我们下面来罗列并演示一下.既然是df[&qu ...

  9. [Python] Pandas 中 Series 和 DataFrame 的用法笔记

    目录 1. Series对象 自定义元素的行标签 使用Series对象定义基于字典创建数据结构 2. DataFrame对象 自定义行标签和列标签 使用DataFrame对象可以基于字典创建数据结构 ...

随机推荐

  1. 8 并发编程-(线程)-多线程与多进程的区别&Thread对象的其他属性或方法

    1.开启速度  在主进程下开启线程比 开启子进程快 # 1 在 主进程下开启线程 from threading import Thread def work(): print('hello') if ...

  2. vc 读xml文件 宏

    自定义FOREACH循环,便于coding 在指定xml的nodelist b中遍历每个节点 #define FOREACH_NODE(a,b)\ long cnt = 0; \ CComPtr< ...

  3. python: no module named bz2

    https://stackoverflow.com/questions/8115280/importerror-no-module-named-bz2-for-python-2-7-2 centos6 ...

  4. Hibernate迫切左外连接和迫切内连接

    •迫切左外连接: •LEFT JOIN FETCH 关键字表示迫切左外连接检索策略. –list() 方法返回的集合中存放实体对象的引用, 每个 Department 对象关联的 Employee  ...

  5. 尴尬!Jsp内置对象

    今天挺尴尬的,上网络安全课做错了ppt ,尴尬到头皮发麻. JSP内置对象 JSP内置对象是Web容器创建的一组对象,不使用new关就可以使用的内置对象. <%int[ ]value= {60, ...

  6. python中的__name__=='__main__'如何简单理解(一)

    1. 摘要: 通俗的理解_name_ == '_main_':假如你叫小明.py,在朋友眼中,你是小明(_name_ == '小明'):在你自己眼中,你是你自己(_name_ == '_main_') ...

  7. urllib.parse.urldefrag(url)的解释

    引自https://www.cnblogs.com/ublue/articles/4471210.html 1.URL hash(片段标识符) 任一带#的URL称为片段URL(通常称为URL hash ...

  8. 常用的SQL语句(牢记)

    上课时的重要内容,其中表 t_hq, t_hq2, 以及字段的名字是举例说明. update t_hq t set t.bumendh = '10086';commit;全表更新电话,commit是提 ...

  9. Spring依赖注入:基于xml配置

    基础接口 BeanFactory.ApplicationContext. BeanFactory用于创建并管理.获取各种类的对象. ApplicationContext从BeanFactory派生而来 ...

  10. hdoj2612 Find a way (bfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 思路: 这个题我wa了十多发QAQ. 刚开始的思路是搜索每个‘@’,然后广搜该点到Y和M的最小距 ...