`
gxyworkhard
  • 浏览: 9352 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

Python数据分析工具包:Pandas

阅读更多

Python Data Analysis Library 或 pandas是为了解决数据分析任务而创建的, 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包。

类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序列和二维的表结构。pandas 约定俗成的导入方法如下:

1
2
from pandas import Series,DataFrame
import pandas as pd

Series


Series 可以看做一个定长的有序字典。基本任意的一维数据都可以用来构造 Series 对象:

1
2
3
4
5
6
7
>>> s = Series([1,2,3.0,'abc'])
>>> s
0      1
1      2
2      3
3    abc
dtype: object

虽然 dtype:object 可以包含多种基本数据类型,但总感觉会影响性能的样子,最好还是保持单纯的 dtype。

Series 对象包含两个主要的属性:index 和 values,分别为上例中左右两列。因为传给构造器的是一个列表,所以 index 的值是从 0 起递增的整数,如果传入的是一个类字典的键值对结构,就会生成 index-value 对应的 Series;或者在初始化的时候以关键字参数显式指定一个 index 对象:

1
2
3
4
5
6
7
8
9
10
11
>>> s = Series(data=[1,3,5,7],index = ['a','b','x','y'])
>>> s
a    1
b    3
x    5
y    7
dtype: int64
>>> s.index
Index(['a', 'b', 'x', 'y'], dtype='object')
>>> s.values
array([1, 3, 5, 7], dtype=int64)

Series 对象的元素会严格依照给出的 index 构建,这意味着:如果 data 参数是有键值对的,那么只有 index 中含有的键会被使用;以及如果 data 中缺少响应的键,即使给出 NaN 值,这个键也会被添加。

注意 Series 的 index 和 values 的元素之间虽然存在对应关系,但这与字典的映射不同。index 和 values 实际仍为互相独立的 ndarray 数组,因此 Series 对象的性能完全 ok。

Series 这种使用键值对的数据结构最大的好处在于,Series 间进行算术运算时,index 会自动对齐。

 

 

另外,Series 对象和它的 index 都含有一个 name 属性:

1
2
3
4
5
6
7
8
9
>>> s.name = 'a_series'
>>> s.index.name = 'the_index'
>>> s
the_index
a            1
b            3
x            5
y            7
Name: a_series, dtype: int64

 

 

DataFrame


DataFrame 是一个表格型的数据结构,它含有一组有序的列(类似于 index),每列可以是不同的值类型(不像 ndarray 只能有一个 dtype)。基本上可以把 DataFrame 看成是共享同一个 index 的 Series 的集合。

DataFrame 的构造方法与 Series 类似,只不过可以同时接受多条一维数据源,每一条都会成为单独的一列:

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> data = {'state':['Ohino','Ohino','Ohino','Nevada','Nevada'],
        'year':[2000,2001,2002,2001,2002],
        'pop':[1.5,1.7,3.6,2.4,2.9]}
>>> df = DataFrame(data)
>>> df
   pop   state  year
0  1.5   Ohino  2000
1  1.7   Ohino  2001
2  3.6   Ohino  2002
3  2.4  Nevada  2001
4  2.9  Nevada  2002
 
[5 rows x 3 columns]

虽然参数 data 看起来是个字典,但字典的键并非充当 DataFrame 的 index 的角色,而是 Series 的 “name” 属性。这里生成的 index 仍是 “01234”。

完整的 DataFrame 构造器参数为:DataFrame(data=None,index=None,coloumns=None),columns 即 “name”:

1
2
3
4
5
6
7
8
9
10
11
>>> df = DataFrame(data,index=['one','two','three','four','five'],
               columns=['year','state','pop','debt'])
>>> df
       year   state  pop debt
one    2000   Ohino  1.5  NaN
two    2001   Ohino  1.7  NaN
three  2002   Ohino  3.6  NaN
four   2001  Nevada  2.4  NaN
five   2002  Nevada  2.9  NaN
 
[5 rows x 4 columns]

同样缺失值由 NaN 补上。看一下 index、columns 和 索引的类型:

1
2
3
4
5
6
>>> df.index
Index(['one', 'two', 'three', 'four', 'five'], dtype='object')
>>> df.columns
Index(['year', 'state', 'pop', 'debt'], dtype='object')
>>> type(df['debt'])
<class 'pandas.core.series.Series'>

DataFrame 面向行和面向列的操作基本是平衡的,任意抽出一列都是 Series。

 

分享到:
评论

相关推荐

    Python数据分析pandas模块用法实例详解

    本文实例讲述了Python数据分析pandas模块用法。分享给大家供大家参考,具体如下: pandas pandas10分钟入门,可以查看官网:10 minutes to pandas 也可以查看更复杂的cookbook pandas是非常强大的数据分析包,...

    精品资料-数据分析学习资料精华合集(600多份).zip

    17、Python数据分析(四):Pandas包.pdf 18、Python数据分析(六)数据清理实操.pdf 19.Matplotlib 用户指南.pdf 20、零售电商指标.pdf 21、服装电商指标.pdf 二、SQL精华资料包 数据库设计优化完善版本.pdf 数据库基础...

    Pandas 强大的Python数据分析工具-python

    pandas:强大的Python数据分析工具包是什么? pandas 是一个 Python 包,它提供快速、灵活和富有表现力的数据结构,旨在使处理“关系”或“标记”数据既简单又直观。 它旨在成为在 Python 中进行实用、真实世界数据...

    如何使用Python进行数据分析.docx

    数据分析的工具 Python有一个非常强大的数据分析工具包,它称为Pandas。Pandas可以帮助用户轻松地读入数据,对数据进行清理、分析和可视化。 Pandas基于NumPy库,它提供了用于数据操作和数据分析的数据结构。Pandas...

    pandas:快速,灵活且功能强大的Python数据分析工具包-开源

    pandas是一个Python数据分析库,它为Python编程语言提供了高性能,用户友好的数据结构和数据分析工具。 它使您能够使用Python执行整个数据分析工作流,而不必切换到更多领域特定的语言。 使用熊猫,可以大大提高使用...

    python机器学习和数据分析

    Python数据分析与机器学习实战教程,该课程精心挑选真实的数据集为案例,通过python数据科学库numpy,pandas,matplot结合机器学习库scikit-learn完成一些列的机器学习案例。课程以实战为基础,所有课时都结合代码演示...

    Python数据分析与机器实战-CSDN学院

    掌握Python数据科学工具包,包括矩阵数据处理与可视化展示。 2.掌握机器学习算法原理推导,从数学上理解算法是怎么来的以及其中涉及的细节。 3.掌握每一个算法所涉及的参数,详解其中每一步对结果的影响。 4.熟练...

    Pandas for python v0.14.0官方版.zip

    Pandas for python2.7,Pandas是python的数据分析包,最初被作为金融数据分析工具而开发出来,提供pandas-0.14.0.win-amd64-py2.7.exe下载,有需要的赶快下载吧! Pandas for python基本简介 Pandas是python的一...

    分享一下Python数据分析常用的8款工具

    Python数据分析需要安装的第三方扩展库有:Numpy、Pandas、SciPy、Matplotlib、Scikit-Learn、Keras、Gensim、Scrapy等,以下是千锋武汉Python培训老师对该第三方扩展库的简要介绍: 1. Pandas Pandas是Python强大、...

    Python数据分析.7z

    一篇介绍python数据分析的文档,希望对你有用。没有密码,直接可以观看! 包括Python教程内的所有代码升级为Python 3.6(第1版使用的是Python 2.7) 更新了Anaconda和其它包的Python安装方法 更新了Pandas为2017...

    使用Python进行数据分析和处理.docx

    使用Python进行数据分析和处理全文共4页,当前为第1页。使用Python进行数据分析和处理全文共4页,当前为第1页。使用Python进行数据分析和处理 使用Python进行数据分析和处理全文共4页,当前为第1页。 使用Python进行...

    通用型的机器学习工具包Sklearn-pandas.zip

    Scikit-Learn上文已经提过,这里pandas是指一个开源的基于Python实现的数据分析工具。具体的说,Sklearn-pandas的桥梁作用主要体现在以下两个方面:提供将DataFrame列映射到transformations的方法,这些列此后还可以...

    适用于Python的灵活而强大的数据分析/操作库,提供与R data.frame对象,统计函数等类似的标记数据结构-Python开发

    pandas是一个Python软件包,提供了快速,灵活和可表达的数据结构,旨在与“关系型”或“标签熊猫”一起工作:功能强大的Python数据分析工具包。pandas是一个Python软件包,提供了快速,灵活和可表达的数据结构。旨在...

    python股票分析挖掘预测利器Numpy,Pandas,Matplotlib库学习中一些经典代码和练习

    本人股市多年的老韭菜了,各种股票分析书籍,技术指标书籍阅历无数,萌发想法,何不自己开发个股票预测分析软件,选择python因为够强大,它提供了很多高效便捷的数据分析工具包, 其中数据分析中常见的3大利器---...

    python数据分析基础

    8个常用python工具库 + 10小时以上视频课程 + 50个工作常用技能 + 4个爬虫案例 + 10个行业数据分析案例, 介绍python数据分析、爬虫基础技巧, 助你提升职场竞争力, 转行、应聘简历加分。 课程介绍python数据读取、...

    基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)

    本项目是一套基于Python开发的Excel数据分析系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格...

    Python数据分析之真实IP请求Pandas详解

    pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包类似于 Numpy 的核心是 ndarray,pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的 。Series 和 DataFrame 分别对应于一维的序列和二...

    Python数据分析:手把手教你用Pandas生成可视化图表的教程

    作为数据分析工具的集大成者,pandas作者曾说,pandas中的可视化功能比plt更加简便和功能强大。实际上,如果是对图表细节有极高要求,那么建议大家使用matplotlib通过底层图表模块进行编码。当然,我们大部分人在...

    毕业设计 - 基于Python的南京二手房数据采集及可视化分析(python,包含ppt、程序说明、数据、使用和效果截图)

    开发环境:Pycharm工具,Python3.7环境 1 内容简介 ...(1)Python网络爬虫技术 Requests Beautifulsoup (2)Python数据分析技术 Numpy Matplotlib Pandas (3)k-means聚类算法 (4)高德地图开发者应用JS API

    基于Python的电影数据可视化分析系统源码+说明文档(毕业设计).zip

    基于Python的电影数据可视化分析系统源码+说明文档(毕业设计).zip 主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者。也可作为课程设计、期末大作业。包含全部项目源码、该项目可以直接作为...

Global site tag (gtag.js) - Google Analytics