Pandas学习笔记常用功能

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Pandas学习笔记常用功能

本文是关于pandas的学习笔记,由于pandas会用到numpy,可能需要读者简单了解一下numpy的内容,不过有用到的部分我会在文中进行简单解释说明。资料来源主要是两块,一是pandas: powerful Python data analysis toolkit;另一个《利用python进行数据分析》(Wes McKinney)目录一、pandas的安装和使用二、python数据结构三、对数据类型的操作四、总结

一、pandas的安装和使用Pandas和其他python的库安装方式一样,whl、源码或者pip,在此就不赘述了,Python Data Analysis Library 上面有github源码和whl文件。注意:pandas安装会用到numpy库,因此在安装pandas之前一定要安装好numpy。Pandas安装的时候还有两个大坑:如果如果是VC++ is required,说明要装Visual Studio,这个百度Visual Studio安装即可;如果是excention is required,比如我碰到的CExcention,说明需要安装对应的拓展包,这个情况可以通过Python Extension Packages for Windows 这个网站下载。由于欧皇血统,安装过程不算崎岖,希望踩到其他坑的小伙伴可以多留言让我们整理一下碰到的问题。Pandas在使用的时候一般会和numpy一起使用,并且官方给pandas简称pd,numpy简

称np,原因我就不知道了。二、python数据结构说明:pandas当中数据类型会具体涉及到int32、int64等等,没有进行设置的时候pandas默认输出64位,如果考虑内存使用效率的话可以自行修改。1、SeriesSeries可以理解为一个一维的数组,只是index可以自己改动。创建的方法统一为pd.Series(data,index=)。打印的时候按照index赋值的顺序,有的时候会看着很别扭。某个index对应的值为空就用NaN。index参数默认从0开始的整数,也是Series的绝对位置,即使index被赋值之后,绝对位置不会被覆盖。Series可以通过三种形式创建:python的dict、numpy当中的ndarray(numpy中的基本数据结构)、具体某个数值。index赋值必须是list类型。Python的dict创建:

s = pd.Series({‘a’=1,’b’=2,’d’=3},index = [‘a’,’d’,’c’,b’])

输出:a 1

d 3

c NaN

b 2

dtype:int64

numpy中的ndarray:

s = pd.Series(np.random.randn(5), index = list('ABCDE')

输出:A -1.130657

B -1.539251

C 1.503126

D 1.266908

E 0.335561

dtype: float64

具体某个值:

s=pd.Series(5)

输出:0 5

dtype: int64

s=pd.Series([5,4])

输出:0 5

1 4

dtype: int64

s=pd.Series([5,4],index=list[‘abcd’])

输出:ERROR

S=pd.Series(5,index=list(‘abcd’))

a 5

b 5

c 5

d 5

dtype:int64

像这种具体某个值的创建方法,保证每行数据精准性的话很麻烦,并且用起来会不小心把其他数据覆盖掉,因此我

个人用的比较少。注意:创建Series的时候要注意创建行数和索引数量匹配的问题,如果默认的话会自动匹配创建的行数。除了创建肯定需要查询,这时候会用到s.values和s.index,分别查询值和索引。

2、DataFrameDataFrame是一个类似于表格的数据类型,如图:

有这样一些参数:data (方框内的数据): numpy ndarray (structured or homogeneous), dict, or DataFrameindex(行索引索引): Index or array-likecolumns (列索引): Index or array-likedtype(data的数据类型): dtype, default NoneDataFrame可以理解为一个二维数组,index有两个维度,可更改。DataFrame统一的创建形式为:

pd.DataFrame(data,columns=,index=)其中columns为列的索引,index为行的索引。index或者columns如果不进行设置则默认为0开始的整数,也是行的绝对位置,不会被覆盖;而通过外部数据(比如打开文件)创建DataFrame 的话需要注意列名匹配的问题,给columns赋的值如果和数据来源当中列名不一样的话,对应的列下面会出现NAN。还有个常用参数为orient,默认为空,如果赋

值’index’则将输入Series的index值作为DataFrame的columns。栗子如下:

a = pd.read_csv('c:/users/15418/Desktop/bajiao.csv')

pd.DataFrame(a,columns = ['a','b','commentsNum'])

输出:a b commentsNum

0 NaN NaN 9795

1 NaN NaN 21088

2 NaN NaN 4107

3 NaN NaN 4115

4 NaN NaN 39300

Data的创建形式有以下几种:一维数据类型进行创建、二维ndarray创建、外部输入。二维数组创建,由于比较简单就先说:pd.DataFrame(二维数组,columns = ,index=),由于比较简单就不举代码了。外部输入就是读取文件等手段,如csv、excel等文件:上面那个例子已经说明了读取文件创建过程。概括来说就是先读取一个文件对象

(pd.read_xxx,xxx是对应的文件类型,常用有csv、excel、table等)的对象,然后再通过该对象创建DataFrame,但要注意columns列名的命名。一维数据类型创建(一维数据类型主要有:一维ndarray、列表、字典、Series等):首先是字典和Series类型创建DataFrame:一个是将字典或者Series组合成列表进行创建;另一个是将两者放入字典里面创建。例子如下:第一种方法:

a = {'a':1,'b':2}

b = pd.Series([1,2,3],index=list('abc'))

相关文档
最新文档