zhangxiaojiakele 2020-02-23
  Pandas是为了解决数据分析任务而创建的,纳入了大量的库和标准数据模型,提供了高效地操作大型数据集所需的工具。
  对于Pandas包,在Python中常见的导入方法如下:
from pandas import Series,DataFrame import pandas as pd
首先,我们需要对于Series和DataFrame有个基本的了解:
Series:一维数组,类似于Python中的基本数据结构list,区别是Series只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。就像数据库中的列数据。
  <span>DataFrame</span>: 二维的表格型数据结构。很多功能与R<span>语言</span>中的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    4Series对象将一组数据和一组索引绑定在一起,我们可以通过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_a的Series数组,当中值为[1,2,5,7],对应的索引为[‘nu‘, ‘li‘, ‘xue‘, ‘xi‘];
创建一个名为dict_a的字典,字典中包含如下内容{‘ting‘:1, ‘shuo‘:2, ‘du‘:32, ‘xie‘:44};
将dict_a字典转化成名为series_b的Series数组。
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_b2、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
实例:
创建一个五行三列的名为df1的DataFrame数组,列名为 [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其实也不是很难,但是它们确是基础中的基础,是我们以后学习中常用的东西,所以我们必须把它们掌握好,才能更好的学习这门课。
计算的时候总共分3步,1到2是第二组......lower: i. 这组数据中的小值 higher: j. 这组数据中的大值,fraction 是第三步中的小数部分,意思是当前这组数据的0到1的分位数
Series是一种类似于一维数组的对象,由一组数据以及一组与之对应的索引组成。 index: 索引序列,必须是唯一的,且与数据的长度相同. 如果没有传入索引参数,则默认会自动创建一个从0~N的整数索引