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其实也不是很难,但是它们确是基础中的基础,是我们以后学习中常用的东西,所以我们必须把它们掌握好,才能更好的学习这门课。

最新文章

  1. 【MVC拾遗】MVC的单元测试简单学习总结
  2. win10系统点击关机按钮后无法关机的解决办法
  3. osgEarth基础入门
  4. 【GPU编解码】GPU硬解码---CUVID
  5. php setcookie(name, value, expires, path, domain, secure) 参数详解
  6. 翻译「C++ Rvalue References Explained」C++右值引用详解 Part5:右值引用就是右值吗?
  7. HDU5807 Keep In Touch (BestCoder Round #86 D ) 分布式dp
  8. Json::Value使用心得
  9. PPT扁平化风格设计手册
  10. .Net组件程序设计
  11. 关于html5调用手机相机(原创)
  12. xcode调试打印QString
  13. 独热编码OneHotEncoder简介
  14. BZOJ3529: [Sdoi2014]数表
  15. javascript 一些关于css操作的函数
  16. Python struct模块
  17. [原创]基于Zynq Linux环境搭建资源
  18. 远程和Ubuntu服务器进行Socket通信,使用python和C#(准备篇)
  19. 手把手教你利用Python自动下载CL社区图片
  20. 页面系统,浏览器检测- 网页基础模块(JavaScript)

热门文章

  1. C++->输入输出文件流的相关函数
  2. MacOs使用CleanMyMac X清除可清除空间
  3. vs2015配置cv文件,不用每次新建项目在配置
  4. with open()函数中,如何在文件名设置中引用变量(python)
  5. CTF长久练习平台
  6. 安装Docker到Ubuntu(APT)
  7. Nginx出现403 forbidden
  8. Vue组件库新增的prop属性类型是Object或者Array时默认值的设置
  9. JS编解码与Java编解码的对应关系
  10. BSGS求解离散对数问题