Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具。

  对于Pandas包,在Python中常见的导入方法如下:

from pandas import Series,DataFrame
import pandas as pd

  首先,我们需要对于Series和DataFrame有个基本的了解:

  Series:一维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。就像数据库中的列数据。

  DataFrame: 二维的表格型数据结构。很多功能与R语言中的data.frame类似。可以将DataFrame理解为Series的容器。

  接下来我们通过实例分别了解Series和DataFrame。

  1、Series

  Pandas的Series对象是一个带索引数据构成的一维数组。可以用一个数组创建Series对象,如下所示:

In [1] : data = pd.Series([1,2,3,4])
In [2] : data
Out[2] :0 1
1 2
2 3
3 4

  Series对象将一组数据和一组索引绑定在一起,我们可以通过values属性和index属性获取数据。values属性返回的结果与Numpy数组类似。index属性返回的是一个类型为pd.index的类数组对象。和Numpy数组一样,数据可以通过Python的中括号索引标签来获取:

In [3]: data.values
Out[3]:array([1,2,3,4])
In [4]: data.index
Out[4]:Int64Index([0,1,2,3])
In [5]:data2=Series([4,7,-5,3],index=['d','b','a','c'])
In [6]:data2
Out[6]:
d 1
b 2
a 3
c 4

  如果你有一些数据在一个Python字典中,你可以通过传递字典来从这些数据创建一个Series,只传递一个字典的时候,结果Series中的索引将是排序后的字典的键。

In [7]:sdata={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}
In [8]:obj3=Series(sdata)
In [9]:obj3
Out[9]:
Ohio 35000
Texas 71000
Oregon 16000
Utah 5000

  实例:

  • 创建一个名为series_aseries数组,当中值为[1,2,5,7],对应的索引为['nu', 'li', 'xue', 'xi']

  • 创建一个名为dict_a的字典,字典中包含如下内容{'ting':1, 'shuo':2, 'du':32, 'xie':44}

  • dict_a字典转化成名为series_bseries数组。

from pandas import Series,DataFrame
import pandas as pd def create_series():
'''
返回值:
series_a: 一个Series类型数据
series_b: 一个Series类型数据
dict_a: 一个字典类型数据
'''
a=[1,2,5,7]
index=['nu','li','xue','xi']
series_a=Series(a,index)
dict_a={'ting':1,'shuo':2,'du':32,'xie':44}
series_b=Series(dict_a) return series_a,dict_a,series_b

  2、DataFrame

  DataFrame是一个表格型的数据结构,是以一个或多个二维块存放的数据表格(层次化索引),DataFrame既有行索引还有列索引,它有一组有序的列,每列既可以是不同类型(数值、字符串、布尔型)的数据,或者可以看做由Series组成的字典。

  创建:

dictionary = {'state':['0hio','0hio','0hio','Nevada','Nevada'],
'year':[2000,2001,2002,2001,2002],
'pop':[1.5,1.7,3.6,2.4,2.9]}
frame = DataFrame(dictionary)

  修改行名:

frame=DataFrame(dictionary,index=['one','two','three','four','five'])

  添加修改:

frame['add']=[0,0,0,0,0]

  添加Series类型:

value = Series([1,3,1,4,6,8],index = [0,1,2,3,4,5])
frame['add1'] = value

  实例:

  • 创建一个五行三列的名为df1DataFrame数组,列名为 [states,years,pops],行名['one','two','three','four','five']

  • df1添加新列,列名为new_add,值为[7,4,5,8,2]

from pandas import Series,DataFrame
import pandas as pd def create_dataframe():
'''
返回值:
df1: 一个DataFrame类型数据
'''
df1=DataFrame(index=['one','two','three','four','five'],columns=['states','years','pops'])
df1['new_add']=[7,4,5,8,2] return df1

  对于刚接触Pandas的同学来说,Series和DataFrame其实也不是很难,但是它们确是基础中的基础,是我们以后学习中常用的东西,所以我们必须把它们掌握好,才能更好的学习这门课。

Pandas初体验之数据结构——Series和DataFrame的更多相关文章

  1. 02. Pandas 1|数据结构Series、Dataframe

    1."一维数组"Series Pandas数据结构Series:基本概念及创建 s.index  . s.values # Series 数据结构 # Series 是带有标签的一 ...

  2. pandas 的数据结构Series与DataFrame

    pandas中有两个主要的数据结构:Series和DataFrame. [Series] Series是一个一维的类似的数组对象,它包含一个数组数据(任何numpy数据类型)和一个与数组关联的索引. ...

  3. 小白学 Python 数据分析(3):Pandas (二)数据结构 Series

    在家为国家做贡献太无聊,不如跟我一起学点 Python 顺便问一下,你们都喜欢什么什么样的文章封面图,老用这一张感觉有点丑 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析( ...

  4. Pandas初体验

    目录 Pandas 一.简介 1.安装 2.引用方法 二.series 1.创建方法 2.缺失数据处理 2.1 什么是缺失值 2.2 NaN特性 2.3 填充NaN 2.4 删除NaN 2.5 其他方 ...

  5. pandas(一)操作Series和DataFrame的基本功能

    reindex:重新索引 pandas对象有一个重要的方法reindex,作用:创建一个适应新索引的新对象 以Series为例 >>> series_obj = Series([4. ...

  6. 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame

    在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...

  7. pandas 的数据结构(Series, DataFrame)

    Pandas 讲解 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. Pandas 纳入了大量库和一些标 ...

  8. Python数据分析之pandas基本数据结构:Series、DataFrame

    1引言 本文总结Pandas中两种常用的数据类型: (1)Series是一种一维的带标签数组对象. (2)DataFrame,二维,Series容器 2 Series数组 2.1 Series数组构成 ...

  9. 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍

    一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构 ...

随机推荐

  1. 纪中10日T3 2296. 神殿 bfs

    2296. 神殿 (File IO): input:temple.in output:temple.out 时间限制: 1500 ms  空间限制: 524288 KB  具体限制 Goto Prob ...

  2. spring boot 集成 Mybatis,JPA

    相对应MyBatis, JPA可能大家会比较陌生,它并不是一个框架,而是一组规范,其使用跟Hibernate 差不多,原理层面的东西就不多讲了,主要的是应用. Mybatis就不多说了,SSM这三个框 ...

  3. mysql查询中字符串转换成数字

    在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下: 1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现例如:将pony表 ...

  4. 小白的java学习之路 “ 循环结构(二)”

    一.for 循环 语法: for(表达式一;表达式二;表达式三){ 循环操作 } 表达式一:参数初始化 表达式二:条件判断 表达式三:更新循环变量 执行流程: 步骤一:执行表达式一.初始化参数 步骤二 ...

  5. linux查看硬件、系统信息

    查看机器型号等 dmidecode 是一个读取电脑 DMI(桌面管理接口(Desktop Management Interface))表内容并且以人类可读的格式显示系统硬件信息的工具.这个表包含系统硬 ...

  6. JavaScirpt 认识DOM和BOM (汇总)

    将HTML代码分解为DOM节点层次图 DOM节点有: 1. 元素节点:上图中<html>.<body>.<p>等都是元素节点,即标签. 2. 文本节点:向用户展示的 ...

  7. list=null和list.size=0的区别

    声明转载自:https://blog.csdn.net/iblade/article/details/50506398/ 转载自:https://blog.csdn.net/Hallelujah__/ ...

  8. PIE-SDK For C++ Geometry的坐标转换

    1. 基于SpatialReference对象的坐标转换 1.1 示例简介 Geometry类是所有几何形体对象的父类,它是一个抽象类,IGeometry接口定义了所有的几何对象都有的方法和属性. 下 ...

  9. PHPMailer发送邮件遇坑小记

    一:phpmailer发送邮件成功了 数据库发送状态也更改 但是用户就是没收到邮件. 出现原因:发送邮件太多 导致邮箱服务器被腾讯封了 发送的邮件统统进入了邮件服务器的草稿箱里. 解决方案: 重新修改 ...

  10. kubernetes nodePort、targetPort、port、containerPort图解

    1. nodePort 外部机器可访问的端口. 比如一个Web应用需要被其他用户访问,那么需要配置type=NodePort,而且配置nodePort=,那么其他机器就可以通过浏览器访问scheme: ...