pandas 是数据分析时必须用到的一个库,功能非常强大

其有两种数据结构:一维Series   二维表DataFrame(一般读取后的数据都是df)

导入:import pandas as pd

数据读取:pd.read_csv('d:/a.csv',dtype=objec,encoding='utf-8')

     pd.read_csv('d:/a.txt',dtype=objec,encoding='utf-8') 

pd.read_excel('d:/a.xls',dtype=objec,encoding='utf-8')

dtype:指定数据读取后的类型     encoding:指定编码  jupyter默认为utf-8

数据输出:pd.to_excel(path)

一次写入多张表:利用ExcelWriter()方法

with pd.ExcelWriter(r'd:/test.xlsx',encoding='utf8') as writer:  #利用ExcelWriter()创建一个工作薄,并指定路径和名字 r表示后面的输入为长字符串,可以省略报错再加

  df1.to_excel(writer,sheet_name='sheet1')   #写入刚刚创建的工作薄并给工作表命名有几个表就写入几次

  df2.to_excel(writer,sheet_name='sheet2')

数据统计:

pandas 做数据统计的时候有两种聚合方式:

1,groupby()分组

2,pivot_table()透视表

pandas 分析实例:

筛选出需要的字段并赋值给新的df,方法是df[['字段名','字段名']]

注意需要加两个中括号

选取某一列数据:有两种方法 df['字段名'] 或df.字段名

选取符合要求的数据:类似高级筛选

  方法是字段加上条件判断:如df.分公司=='渝北'   df.时间>='2019-01-01'   如果多重判断可以使用& 或者 or 简化为:| 竖线 但是每个条件要()起来

  同一列的多重筛选方法:df.分公司.isin(['....','....'])

模糊筛选方法:如不知道具体名称,只知道名称包含什么 可以说使用str.contains()方法

一个特别实用的技巧:

  在筛选条件之前加上“~”会得到相反得结果如:

字符串文本提取:

python提取文本非常方便——利用切片如:

提取日期的年份   ’2019-06-02‘[:4]

提取月份:

如果有不规则的数据需要文本提取,则找到相似的规律执行 比如日期都有 ’-‘,思路是通过find()函数找到其的位置,然后再切片提取。

怎样将整列数据应用文本提取?

  就是前面讲过的 apply() 方法

这里定义了一个匿名函数lambda来实现,有关匿名函数请看以前的博客

分类统计:

利用groupby()实现聚类  利用统计函数实现计算

常见的统计函数有:count(),sum(),mean()等

指定统计某一列:

筛选所需数据:如计数大于500

对值进行排序:sort_values(ascending=False)  默认为True升序  False为降序

对行进行筛选:利用df.loc['....']实现 loc 是pandas中对行进行操作

利用透视表pivot_table()进行分类统计:

  pd.pivot_table(df,index=' ',columns=' ',values=' ',aggfunc=' ',margins= ,margins_name=' ',fill_value=)

#df:数据源  index:分组字段   columns:列字段  values:计数对象字段  aggfunc:调用函数   margins:添加汇总  margins_name:赋值汇总名称  fill_value:填充空值

筛选方法和上面讲的一样

暂停一下,改天继续。

 

python 数据分析之pandas的更多相关文章

  1. Python数据分析库pandas基本操作

    Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...

  2. Python数据分析之pandas基本数据结构:Series、DataFrame

    1引言 本文总结Pandas中两种常用的数据类型: (1)Series是一种一维的带标签数组对象. (2)DataFrame,二维,Series容器 2 Series数组 2.1 Series数组构成 ...

  3. Python 数据分析:Pandas 缺省值的判断

    Python 数据分析:Pandas 缺省值的判断 背景 我们从数据库中取出数据存入 Pandas None 转换成 NaN 或 NaT.但是,我们将 Pandas 数据写入数据库时又需要转换成 No ...

  4. Python数据分析之pandas学习

    Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...

  5. python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]

    1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...

  6. Python数据分析之pandas

    Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...

  7. Python数据分析之Pandas操作大全

    从头到尾都是手码的,文中的所有示例也都是在Pycharm中运行过的,自己整理笔记的最大好处在于可以按照自己的思路来构建矿建,等到将来在需要的时候能够以最快的速度看懂并应用=_= 注:为方便表述,本章设 ...

  8. Python数据分析之pandas入门

    一.pandas库简介 pandas是一个专门用于数据分析的开源Python库,目前很多使用Python分析数据的专业人员都将pandas作为基础工具来使用.pandas是以Numpy作为基础来设计开 ...

  9. 教程 | 一文入门Python数据分析库Pandas

    首先要给那些不熟悉 Pandas 的人简单介绍一下,Pandas 是 Python 生态系统中最流行的数据分析库.它能够完成许多任务,包括: 读/写不同格式的数据 选择数据的子集 跨行/列计算 寻找并 ...

  10. Python数据分析之Pandas读写外部数据文件

    1 引言 数据分析.数据挖掘.可视化是Python的众多强项之一,但无论是这几项中的哪一项都必须以数据作为基础,数据通常都存储在外部文件中,例如txt.csv.excel.数据库.本篇中,我们来捋一捋 ...

随机推荐

  1. Pycharm默认输入状态是insert状态,选中文字无法直接输入替换或删除

    最近在学习Python,使用pycharm的时候,我的光标处于加粗状态,也就是编程软件经常出现的insert插入编辑模式,我就点击了一下insert按键,退出了这个模式,但是我每次打开都是会处于这种模 ...

  2. centos7下安装MySQL 5.7.26 二进制版本(免安装绿色版)

    MySQL 5.7.26 二进制版本安装(免安装绿色版) 下载地址 https://downloads.mysql.com/archives/community/ https://cdn.mysql. ...

  3. 063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法

    063 01 Android 零基础入门 01 Java基础语法 08 Java方法 01 无参无返回值方法 本文知识点:无参无返回值方法 无参无返回值方法 案例 为什么使用方法?--方便复杂问题调用 ...

  4. Java知识系统回顾整理01基础01第一个程序07Eclipse使用----找不到类如何解决?

    一.现象 有时候会碰到如图所示的问题,分明有Hello这个类,并且也有主方法,可是运行就会出现找不到或者无法加载类Hello,或者Class Not Found 异常. 出现这个状况,有多种原因造成, ...

  5. c++缓冲区std::wstringbuf

    参考:http://www.cplusplus.com/reference/sstream/wstringbuf/ class <sstream> std::wstringbuf type ...

  6. Ubuntu开启/var/log/messages

    # 添加配置到/etc/rsyslog.d/50-default.conf cat <<'EOF' | sudo tee -a /etc/rsyslog.d/50-default.conf ...

  7. AA.Dapper升级了

    AA.Dapper基于dapper进一步封装而成的orm框架,提供增删改查.分页.事务.原生sql的功能,以满足日常的业务开发. 1.Repository层: DapperRepository类包含大 ...

  8. vue拼图动画Demo

    这是一个基于vue的Demo,可以实现拼图动画,但是具体的没有写拼图成功的逻辑,鼠标悬停移动.周期刷新 我把它放到的我的博客园界面上了.刷新界面可以看到. 演示地址 :https://liruilon ...

  9. C 和 C++ 打起来了!曾今最亲密的伙伴到现今的不爽?

    70年代初,贝尔实验室创建了C语言,它是开发UNIX的副产品.很快C就成为了最受欢迎的编程语言之一.但是对于Bjarne Stroustrup来说,C的表达能力还不够.于是,他在1983年的博士论文中 ...

  10. vagrantfile-参考示例

    Vagrantfile 文件  bt为你需要新建的box名字    Vagrant.configure("2") do |config|   config.vm.box = &qu ...