P


玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。

一、pandas库简介

pandas是一个特地用于数据剖析的开源Python库,现在许多运用Python剖析数据的专业人员都将pandas作为基本工具来运用。pandas是以Numpy作为基本来设想开辟的,Numpy是大批Python数据科学盘算库的基本,pandas以此为基本,在盘算方面具有很高的机能。pandas有两大数据结构,这是pandas的中心,数据剖析的一切义务都脱离它们,离别是Series和DataFrame。  

二、pandas库的装置

paandas装置较为简朴,若是运用Anaconda的话,就在终端输入敕令 “conda install pandas” 就能够装置;若是电脑装置了pip的话,就在终端输入敕令 “pip install pandas” 就能够装置胜利。装置完成后,能够在终端输入 “import pandas as pd” ,测试pandas是不是装置胜利。  

三、Series的运用

Series用来透露表现一维数据结构,跟数组类似,它由两个相干联的数组构成,个中一个叫index的数组用来存储标签,这些标签与另一个数组中的元素一一对应。如下图所示:

声明Series工具时,须要挪用Series()组织函数,并传入一个数组作为Series的主数组,好比:
import pandas as pd
ser=pd.Series([12,33,55,66])
print(ser)

'''输出为
0    12
1    33
2    55
3    66
dtype: int64
'''

运转上面的代码,能够晓得,若是不指定标签,那末默许标签就是从0最先递增,我们也能够在声明一个Series工具时给它指定标签:

import pandas as pd
ser=pd.Series([12,33,55,66],index=['a','s','d','f'])
print(ser)

'''输出为:
a    12
s    33
d    55
f    66
dtype: int64
'''
我们能够经由过程Series的index很轻易获得其内部元素,或许为某元素赋值:

import pandas as pd
ser=pd.Series([12,33,55,66])
print(ser[2])
ser[2]=99
print(ser[2])

'''输出为:
55
99
'''
Series工具能够举行运算,好比加减乘除,也能够运用Numpy中的数学函数来对它举行盘算:

import pandas as pd
ser=pd.Series([12,33,55,66])
ser2=ser/2
print(ser2)

import numpy as np
print(np.log(ser))

'''输出为:
0     6.0
1    16.5
2    27.5
3    33.0
dtype: float64
0    2.484907
1    3.496508
2    4.007333
3    4.189655
dtype: float64
'''
从上面能够看出,Series工具好像跟字典很类似,我们能够把Series工具看成字典来运用,我们在建立Series工具时,将建立好的字典传入Series的组织函数便可,如许字典的键就构成了索引数组,每一个索引对应的元素就是字典中对应的值:

import pandas as pd
dic={'wife':'kathy','son':'mary','mother':'lily','father':'tom'}
ser=pd.Series(dic)
print(ser)

'''输出为:
wife      kathy
son        mary
mother     lily
father      tom
dtype: object
'''

四、DataFrame的运用

DataFrame这类数据结构针对的是多维数据,由按肯定顺序排列的多列数据构成,列之间的数据类型会分歧,如下图所示:

-玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。- 从图中能够看出,DataFrame工具有两个索引数组,第一个数组index与行相干,这与Series类似,每一个index标签与所在行的一切元素相干联。它的第二个数组包罗一系列标签,每一个标签下包罗一列数据。能够将DataFrame明白为由多个Series工具构成的字典,每一列的称号为字典的键,Series作为字典的值。 建立DataFrame工具的经常使用要领就是通报一个字典工具给DataFrame()组织函数:

import pandas as pd
dic={'name':['tom','mary','john','mike'],'age':[14,15,77,45],'sex':['','','','']}
frame=pd.DataFrame(dic)
print(frame)

'''输出为:
   name  age sex
0   tom   14   男
1  mary   15   男
2  john   77   女
3  mike   45   男
'''
跟Series工具类似。DataFrame若是没有明白指定标签,那末它的默许标签也是从0最先递增。若是我们想晓得DataFrame工具一切列的称号,则挪用columns属性就能够够了,猎取索引列表的话就挪用index属性,挪用values属性将猎取一切的元素。能够给DateFrame工具增加列:

import pandas as pd
dic={'name':['tom','mary','john','mike'],'age':[14,15,77,45],'sex':['','','','']}
frame=pd.DataFrame(dic)
frame['weight']=[89,99,145,123]
print(frame)

'''输出为:
   name  age sex  weight
0   tom   14   男      89
1  mary   15   男      99
2  john   77   女     145
3  mike   45   男     123
'''
在数据处理中,有偶然也会用到DataFrame的转置操纵,即把行变成列,列变成行,挪用DataFrame的T属性便可完成转置:

import pandas as pd
dic={'name':['tom','mary','john','mike'],'age':[14,15,77,45],'sex':['','','','']}
frame=pd.DataFrame(dic)
print(frame.T)

'''输出为:
        0     1     2     3
name  tom  mary  john  mike
age    14    15    77    45
sex     男     男     女     男
'''

五、Series与DataFrame工具之间的运算

pandas许可Series工具与DataFrame工具举行运算,界说Series和DataFrame工具时,把Series工具的索引和DataFrame的列称号保持一致:

import pandas as pd
import numpy as np
frame=pd.DataFrame(np.arange(16).reshape((4,4)),index=['age','name','sex','weight'],columns=['john','tom','mary','cathy'])
print(frame)
ser=pd.Series(np.arange(4),index=['john','tom','mary','cathy'])
print(ser)
res=frame-ser
print(res)

'''输出为:
        john  tom  mary  cathy
age        0    1     2      3
name       4    5     6      7
sex        8    9    10     11
weight    12   13    14     15

john     0
tom      1
mary     2
cathy    3
dtype: int32

        john  tom  mary  cathy
age        0    0     0      0
name       4    4     4      4
sex        8    8     8      8
weight    12   12    12     12
'''
能够看出,DataFrame工具的各元素离别减去了Series工具中索引与之雷同的元素,DataFrame工具每一列的一切元素都执行了减法操纵。

-玖富娱乐是一家为代理招商,直属主管信息发布为主的资讯网站,同时也兼顾玖富娱乐代理注册登录地址。