2019独角兽企业重金招聘Python工程师标准>>>

pandas模块

方法有两个

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/matplotlib

将最后的matplotlib改成对应的模块。或者到

http://sourceforge.net

搜索一下

2.直接使用pip安装这个包就不用那么麻烦了,直接输入pip install pandas就可以了

在pandas中使用Series类的plot画图。
如果tz_counts是一个Series类:
1.在python画图,需要先导入matplotlib.pyplot:

import matplotlib.pyplot as plt

tz_counts[: 10].plot(kind= 'barh' ,rot=0 )

plt.show()

2.在ipython画图需要打开pylab模式:
ipython --pylab

 

DataFrame类:

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结果进行统计。

groupby后可以使用:
size():就是count
sum():分组求和
apply(func,axis=0):在分组上单独使用函数func返回frame,不groupby用在DataFrame会默认将func用在每个列上,如果axis=1表示将func用在行上。
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函数:

产生时间序列。

转载于:https://my.oschina.net/u/2245485/blog/837804

pandas 模块学习相关推荐

  1. Python中的pandas模块学习

    本文是基于Windows系统环境,学习和测试pandas模块: Windows 10 PyCharm 2018.3.5 for Windows (exe) python 3.6.8 Windows x ...

  2. Python模块之Pandas模块学习笔记

    目录 一.模块的安装 二.数据结构 1. DataFrame的创建 2. DataFrame索引的修改 3. DataFrame数据信息查看 三.文件的读取和写入 1. 读取 2. 写入 四. 数据的 ...

  3. pandas模块学习笔记2--基本功能

    一.重新索引 obj = Series([1,2,3,4],index=['a','b','c','d']) 输出为: a 1 b 2 c 3 d 4 Series有一个reindex函数,可以将索引 ...

  4. pandas模块学习

    1. pandas的一些核心或基础知识点及函数: pandas的核心结构是DataFrame,它是由多个series组合而成(Series类型由一组数据及与之相关的数据索引组成),而实际值的核心结果是 ...

  5. 【Python模块学习】pandas模块简介

    pandas模块学习 一.背景概述 Pandas (Python Data Analysis Library) 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. numpy更加适用 ...

  6. Python学习日记-pandas操作学习

    Python学习日记-pandas模块学习 根据需求筛选数据 绘制柱状图-利用pandas绘制 绘制柱状图-利用matplotlib绘制 绘制柱状图-两组数据比较 绘制柱状图-叠加柱状图 绘制饼状图 ...

  7. python pandas模块_Python3.5 Pandas模块中Series用法详解

    Python3.5 Pandas模块中Series用法实例 本文实例讲述了Python3.5 Pandas模块之Series用法.分享给大家供大家参考,具体如下: 1.Pandas模块引入与基本数据结 ...

  8. python使用pandas模块介绍以及使用,dataframe结构,Series结构,基本数据操作,DataFrame运算,pandas画图,存储,缺失值处理,离散化,合并

    目录 1 pandas介绍 1.1 Pandas介绍 1.2 为什么使用Pandas 1.3 案例:在numpy当中创建的股票涨跌幅数据形式 1.4 DataFrame 1.4.1 DataFrame ...

  9. python炒股模块_Python数据分析-numpy模块、pandas模块.基本操作、股票案例

    索引操作和列表同理 arr = np.random.randint(0,100,size=(5,6)) arr array([[14, 89, 71, 96, 1, 94], [30, 98, 10, ...

最新文章

  1. OpenCV编程案例:使用轮廓函数检测连通区域
  2. java 文件写入 读取_JAVA文件的两种读取方法和三种写入方法
  3. 一号信令是什么?1号信令和7号信令的区别介绍!
  4. redis memcache 性能比较
  5. java二分法查找法算法_算法二:二分法查找(java语言)
  6. LeetCode MySQL 1873. 计算特殊奖金(case when then else end)
  7. python创建列表的语句_如何使用列表作为参数创建SELECT语句? - python
  8. oracle exp不生成dumpfile,预估出实际导出文件的大小。
  9. Transformations on DStreams之transform的使用 实现黑名单操作/指定过滤
  10. Windows 10一周年更新版本号将锁定为Build 14393
  11. 各类IT编程视频教程下载网址大全
  12. 图书馆管理系统前景与范围文档
  13. QT C++ 百度智能云 人脸图像识别应用实例
  14. esp8266开发入门教程(基于Arduino)——编程基础介绍
  15. c语言题目小鱼的游泳时间,java实现计算小鱼的游泳时间
  16. 别在那抱怨高考怎么不考DOTA呢!!高考就是考DOTA你也不行!
  17. IDE+vim,提高开发效率
  18. 随机论---生命起源随想
  19. c4d用python能做出啥动画_C4D治愈系动画,到底如何实现?
  20. List of devices attached解决方案

热门文章

  1. Centos 6.4 PPTP ×××搭建
  2. Java 理论与实践: 修复 Java 内存模型,第 2 部分 (VOLATILE, FINA...
  3. “网络实名制”的背后
  4. lzg_ad:使用Virtual PC 部署和测试XP Embedded 发布镜像
  5. 用户吐槽:Azure DevOps CI 体验太差
  6. python中的mysql数据库like模糊查询
  7. SQL Server执行计划的理解
  8. 云端卫士DDoS防护解决方案助力互联网金融安全
  9. SQL Server调优系列进阶篇(如何维护数据库索引)
  10. 本轮股市行情性质的分析