浅谈python的第三方库——pandas(一)

pandas作为python进行数据分析的常用第三方库,它是基于numpy创建的,使得运用numpy的程序也能更好地使用pandas。

1 pandas数据结构

1.1 Series

注:由于pandas与numpy关系密切,所以在代码中经常将二者一同导入使用。

上图中,先利用numpy创建一个一维数组,再利用pandas的内置方法将其转换为pandas的序列类型Series。可以看到,pandas会自动将原有数据转换成一列,并添加行的索引。

1.2 DataFrame

pandas的第二种也是最具代表性的数据结构就是DataFrame。

显然,DataFrame就是矩阵类型的数据,只不过pandas中会给矩阵添加行列索引,以便使用与查找元素。

2 创建DataFrame

由于Series可以视为DataFrame的一种简单情况,所以后面将主要介绍DataFrame,关于Series的情况可以类比过去。
从前一小节可以看到,pandas的数据可以通过运用内置方法转换numpy创建的数据得到,但也可以直接在pandas库内创建DataFrame。

创建DataFrame时,可以手动给数据添加行列名,否则pandas会自动添加形如“0,1,2,3”的行列名。
由于pandas基于numpy制作,所以numpy中的一些常用方法可以直接移植过来。

pandas中也有shape方法查看矩阵大小。

3 查找DataFrame的元素

因为pandas中的矩阵允许自定义行列名,所以定位其中的元素分为如下几种方式:使用行列名称,使用行列位置,名称位置混合。

3.1 行列名称定位

3.2 行列位置定位

3.3 名称位置混合定位

一般常用的还是前两种定位手段,混合定位了解即可。

小结:作为pandas系列的开篇,本文就介绍到此,沿用numpy系列的模式,后面的博文将介绍pandas中关于DataFrame的常用方法。

原文地址:https://www.cnblogs.com/pythonfl/p/12272541.html

时间: 2024-12-14 03:51:29

浅谈python的第三方库——pandas(一)的相关文章

浅谈python的第三方库——pandas(二)

pandas使用小贴士 1 通过Series创建DataFrame 在pandas系列的第一篇博文中曾提到,Series可视为DataFrame的一种特例,即只有一列数据.既然如此,是否可以并列多个Series组成一个DataFrame呢?当然可以,通过这种方式创建DataFrame也称为用字典建立数据,由各列列名充当字典的键,该列数据构成的Series充当该键对应的值.示例如下: 上图中,Series类型充任df_1的第二列,因为pandas默认以"0,1,2,3"形式给行列命名,本

浅谈python的第三方库——numpy(二)

前一期博文中,初步探索了numpy中矩阵的几种运算操作,本文将展示numpy矩阵的元素抽取与合并操作. 1 元素抽取 在我们使用矩阵的时候,有时需要提取出矩阵的某些位置上的元素单独研究,这时就需要熟悉矩阵元素的定位操作. 1.1 提取单个元素 从上图中可以看到:矩阵的行列次序是从零开始的,即代码中矩阵的第0列(行)相当于我们通常认为的矩阵第1列(行). 1.2 提取多个元素 在抽取多个矩阵元素时,会用到形如"a:b"的表达,这是告诉python解释器我们要提取某个矩阵的第a+1行(列)

浅谈python中selenium库调动webdriver驱动浏览器的实现原理

最近学web自动化时用到selenium库,感觉很神奇,遂琢磨了一下,写了点心得. 当我们输入以下三行代码并执行时,会发现新打开了一个浏览器窗口并访问了百度首页,然而这是怎么做到的呢? 1 from selenium import webdriver 2 driver = webdriver.Chrome() 3 driver.get('http://www.baidu.com') 首先我们来看一下selenium库的结构: 很显然,selenium就是一个软件包,里面有两个一级子包,commo

浅谈 Python 程序和 C 程序的整合

源地址:http://www.ibm.com/developerworks/cn/linux/l-cn-pythonandc/ 概览 Python 是一种用于快速开发软件的编程语言,它的语法比较简单,易于掌握,但存在执行速度慢的问题,并且在处理某些问题时存在不足,如对计算机硬件系统的访问,对媒体文件的访问等.而作为软件开发的传统编程语言—— C 语言,却能在这些问题上很好地弥补 Python 语言的不足.因此,本文通过实例研究如何在 Python 程序中整合既有的 C 语言模块,包括用 C 语言

浅谈 Python 的模块导入

浅谈 Python 的模块导入 本文不讨论 Python 的导入机制(底层实现细节),仅讨论模块与包,以及导入语句相关的概念.通常,导入模块都是使用如下语句: import ... import ... as ... from ... import ... from ... import ... as ... 一般情况下,使用以上语句导入模块已经够用的.但是在一些特殊场景中,可能还需要其他的导入方式.例如 Python 还提供了 __import__ 内建函数和 importlib 模块来实现动

浅谈C++ IO标准库(1)

IO流:一.C++中标准IO库:1).为面向对象的标准库.2).以继承的形式设计.     A)以iostream为基类,派生出了fstream,strigstream类.注意:fstream.stringstream没有继承关系,open.close为fstream类自有的函数操作,str为stringstream自有的函数操作,故其各函数操作不可混用,而iostream中的函数操作其两子类由于继承关系可以调用.     B) 其禁用了复制和赋值操作,故IO对象不可以复制或赋值.这将导致像ve

Python配置第三方库Theano的曲折之路

Theano是Python的一个深度学习的第三方库,今天有同学问我怎样配置.OK,既然有需求,我就花了半天时间研究它,并完成了windows下32位和64位系统下的配置.这里在配置的过程中我走了一些弯路,在这篇文章中我会将我在配置过程中遇到的问题.出现的错误.解决的方法都完整的列出来,供大家参考,并列出直接简洁的配置方法. 一.基本情况 Theano算是Python中配置相对复杂的库了,这里先对目前的配置需求进行一个基本说明. 1.Python配置第三方库的基本方法 Python配置第三方库主要

浅谈python字符串存储形式

http://blog.csdn.net/zhonghuan1992 钟桓 2014年8月31日 浅谈python字符串存储形式 记录一下自己今的天发现疑问并且给出自己现有知识有的回答.长话短说,用过python的人对于 == 和 is 应该不陌生,但是这里我还是介绍一下. ==是用来判断两个东西是否相等,比如: a = 10: b = 10: print(a == b): 输出是true: 再看一个例子: a = [1,2,3]; b = [1,2,3]; c = [1,2,4]; print

Python配置第三方库Numpy和matplotlib的曲折之路

本人是64位系统,Python新手,花了将近一个晚上才将numpy和matplotlib勉强配置成功,现将这个曲折经历记录如下: 第一步:安装Python 从Python官网下载32位的Python.Python下载地址: 这里之所以下载32位的Python,是因为笔者之前安装过64位Python,在加载第三方模块时各种不成功,百度了一下大家都说直接pip install就OK了,但一直都失败,因此才出此下策,不过好在64位windows系统时支持32位Python的.,其实这里选装32位Pyt