方法有两个php
1.在windows下安装pandas,只安装pandas一个包显然是不够的,它并无把用到的相关包都打进去,这点是很麻烦的,只有等错误信息出来后才知道少了哪些包。我总结了一下,一共须要安装以下包:
pyparsing-2.0.2.win32-py2.7.exe
matplotlib-1.3.1.win32-py2.7.exe
openpyxl-openpyxl-5d2c0c874d2.tar.gz
setuptools-3.8.1.win32-py2.7.exe
numpy-MKL-1.8.1.win32-py2.7.exe
six-1.7.3.win32-py2.7exe
python-dateutil-2.2.win32-py2.7.exe
这些安装包的下载地址是:
https://qa.debian.org/watch/sf.php/matplotlibpython
将最后的matplotlib改为对应的模块。或者到正则表达式
搜索一下windows
2.直接使用pip安装这个包就不用那么麻烦了,直接输入pip install pandas就能够了数组
在pandas中使用Series类的plot画图。 若是tz_counts是一个Series类: 1.在python画图,须要先导入matplotlib.pyplot: import matplotlib.pyplot as pltapp tz_counts[: 10].plot(kind= 'barh' ,rot=0 )函数 plt.show()spa 2.在ipython画图须要打开pylab模式:ipython --pylab |
DataFrame类:.net
DataFrame有四个重要的属性:
index:行索引。
columns:列索引。
values:值的二维数组。
name:名字。
这个类是Pandas最重要的类之一。
构建方法,DataFrame(sequence),经过序列构建,序列中的每一个元素是一个字典。 | |
frame=DateFrame构建完以后,假设frame中有'name','age','addr'三个属性,可使用fame['name']查看属性列内容,也能够fame.name这样直接查看。 | |
frame按照'属性提取出来的每一个列是一个Series类。 | |
DataFrame类可使用布尔型索引。 | |
groupby(str|array...)函数:可使用frame中对应属性的str或者和frame行数相同的array做为参数还可使用一个会返回和frame长度相同list的函数做为参数,若是使用函数作分组参数,这个用作分组的函数传入的参数将会是fame的index,参数个数任意。使用了groupby函数以后配合,size()函数就能够对groupby结果进行统计。
|
|
reindex(index,column,method):用来从新命名索引,和插值。 | |
size():会返回一个frame,这个frame是groupby后的结果。 | |
sum(n).argsort():若是frame中的值是数字,可使用sum函数计算frame中摸个属性,各个因子分别求和,并返回一个Series,这个Series能够作为frame.take的参数,拿到frame中对应的行。 |
|
pivot_table(操做str1,index=str2,columns=str3,aggfunc=str4)透视图函数: str1:是给函数str4做为参数的部分。 str2:是返回frame的行名。 str3:是返回frame的列名。 str4:是集合函数名,有'mean','sum'这些,按照str2,str3分组。 使用透视图函数以后,可使用.sum()这类型函数,使用后会按照index和columns的分组求和。 |
|
order_index(by,ascending): 返回一个根据by排序,asceding=True表示升序,False表示降序的frame |
|
concat(list):将一个列表的frame行数加起来。 | |
ix[index]:就是行索引,DataFrame的普通下标是列索引。 | |
take(index):做用和ix差很少,都是查询行,可是ix传入行号,take传入行索引。 | |
unstack():将行信息变成列信息。 | |
apply(func,axis=0)和applymap(func):apply用在DataFrame会默认将func用在每一个列上,若是axis=1表示将func用在行上。applymap表示func用在每一个元素上。 | |
combine_first(frame2):combine_first会把frame中的空值用frame1中对应位置的数据进行填充。Series方法也有相同的方法。 | |
stack()函数,能够将DataFrame的列转化成行,原来的列索引成为行的层次索引。(stack和unstack方法是两个互逆的方法,能够用来进行Series和DataFrame之间的转换) | |
duplicated():返回一个布尔型Series,表示各行是否重复。 | |
drop_duplicates():返回一个移除了重复行后的DataFrame | |
pct_change():Series也有这个函数,这个函数用来计算同colnums两个相邻的数字之间的变化率。 | |
corr():计算相关系数矩阵。 | |
cov():计算协方差系数矩阵。 | |
corrwith(Series|list,axis=0):axis=0时计算frame的每列和参数的相关系数。 |
Series类:
两个重要的属性:
value:存放series值的一个数组。
index:Series的下标索引。
name:就是Series的名字
index有一个name属性。
能够经过Series(list,index=None)的形式来建立一个Series类,index表示的是用下标访问对应的数据。 也能够直接使用字典建立Series(dict) |
value_counts():该方法能够用来统计series类中各因子出现的次数,返回一个带统计结果的series。 |
fillna(str):给series中的空值赋值。 |
plot()函数:能够用来给带统计结果的函数画图。可是要配合matplotlib使用 |
notnull():返回一个判断series位置是否空值的布尔型索引。 |
sum():若是是数字型Series,能够求和。 |
cumsum():若是是数字型Series,能够返回一个累加的Series。 |
searchsorted():在数字Series中定位一个数字的位置,这个数字不彻底相同,但接近。 |
map(func):将Series中的元素,每一个都当作func的参数使用一遍,返回执行结果组成的Series |
unique():相似于sql中的distinct |
isnull()/notnull():返回一个布尔型索引 |
order():对值进行排序。 |
order_value():对索引进行排序。 |
unstack()方法:将Series的层次索引转换成列索引,变成一个DataFrame。 |
replace():能够用list或dict做为参数,替换须要替换的值 |
str属性:Series.str后会将Series单作一个字符串的集合,这个集合可以使用字符串的操做,例如: data=Series(['abc','bcd','cde']) data.str[1] 输出; 1 b 2 c 3 d |
read_table()函数:读dat文件。
import pandas as pd
mnames=['movie_id','title','genres']
movies=pd.read_table(r'C:\Users\Administrator\Desktop\python for data analysis data\pydata-book-master\ch02\movielens\movies.dat',sep='::',header=None,names=mnames)
read_csv()函数:能够将frame文件直接读成frame。
movies=pd.read_csv(r'names\job1880.txt',names=column)
read_csv函数有一个sep参数,设置分隔符,能够给这个参数传入正则表达式。
skiprows参数,参数是一个list,表示读取文件的时候,跳过list中的几行,第一行为0
read_excel()函数
能够直接读取excel文件为DataFrame
merge(frame1,frame2):
根据两个frame列的名字自动合并,返回一个frame。
此函数能够经过on,left_on,right_on三个属性来设置怎么frame1和frame2经过什么属性来进行链接。
concat函数:
能够将DataFrame或者Series按照axis的方向堆积起来。
cut函数和qcut函数:
能够将一些离散值分箱,cut函数用的是数值区间将数值分箱,qcut用的是分位数。
cut用在长度相等的桶,qcut用在大小相等的桶。
to_datetime(str):
解析经常使用的时间格式。
date_range函数:
产生时间序列。