python 数据分析之pandas
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的更多相关文章
- Python数据分析库pandas基本操作
Python数据分析库pandas基本操作2017年02月20日 17:09:06 birdlove1987 阅读数:22631 标签: python 数据分析 pandas 更多 个人分类: Pyt ...
- Python数据分析之pandas基本数据结构:Series、DataFrame
1引言 本文总结Pandas中两种常用的数据类型: (1)Series是一种一维的带标签数组对象. (2)DataFrame,二维,Series容器 2 Series数组 2.1 Series数组构成 ...
- Python 数据分析:Pandas 缺省值的判断
Python 数据分析:Pandas 缺省值的判断 背景 我们从数据库中取出数据存入 Pandas None 转换成 NaN 或 NaT.但是,我们将 Pandas 数据写入数据库时又需要转换成 No ...
- Python数据分析之pandas学习
Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...
- python数据分析之pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用.本文主要介绍Pandas的几种数据选取的方法. Pandas中,数据主要保存为Dataframe和Se ...
- Python数据分析之pandas
Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...
- Python数据分析之Pandas操作大全
从头到尾都是手码的,文中的所有示例也都是在Pycharm中运行过的,自己整理笔记的最大好处在于可以按照自己的思路来构建矿建,等到将来在需要的时候能够以最快的速度看懂并应用=_= 注:为方便表述,本章设 ...
- Python数据分析之pandas入门
一.pandas库简介 pandas是一个专门用于数据分析的开源Python库,目前很多使用Python分析数据的专业人员都将pandas作为基础工具来使用.pandas是以Numpy作为基础来设计开 ...
- 教程 | 一文入门Python数据分析库Pandas
首先要给那些不熟悉 Pandas 的人简单介绍一下,Pandas 是 Python 生态系统中最流行的数据分析库.它能够完成许多任务,包括: 读/写不同格式的数据 选择数据的子集 跨行/列计算 寻找并 ...
- Python数据分析之Pandas读写外部数据文件
1 引言 数据分析.数据挖掘.可视化是Python的众多强项之一,但无论是这几项中的哪一项都必须以数据作为基础,数据通常都存储在外部文件中,例如txt.csv.excel.数据库.本篇中,我们来捋一捋 ...
随机推荐
- Spring Eureka 本地Docker集群部署
故事背景 最近因为产线使用的服务与发现服务,使用的是Spring Cloud Eureka集群部署,为了以后调试产线的问题,想在本地搭建和产线一样的环境.产线的所有服务都是基于K8s和Docker部署 ...
- Apollo系列(二):Apollo在ASP.NET Core 3.1中使用
关于Apollo怎么安装,我就不介绍,可以看这篇文章:https://www.cnblogs.com/vic-tory/p/13736192.html 一.Apollo使用: 1.创建项目 2.添加配 ...
- 理解RESTful:理论与最佳实践
什么是 REST 什么是 RESTful Richardson 成熟度模型 RESTful API 设计最佳实践 补充:HTTP 状态码及说明 什么是 REST REST 一词,是由 HTTP 协议的 ...
- LeetCode刷题总结-数学篇
本文总结LeetCode上有数学类的算法题,推荐刷题总数为40道.具体考点分析如下图: 1.基本运算问题 题号:29. 两数相除,难度中等 题号:166. 分数到小数,难度中等 题号:372. 超级次 ...
- vue中解决chrome浏览器自动播放音频 和MP3语音打包到线上
一.vue中解决chrome浏览器自动播放音频 需求 有新订单的时候,页面自动语音提示和弹出提示框: 问题 chrome浏览器在18年4月起,就在桌面浏览器全面禁止了音视频的自动播放功能.严格地来说, ...
- 主厨(第4部分)- ASP. netNET Core和Angular 2 CRUD SPA
下载source - 79.7 KB 介绍 在Master Chef(第1部分)和Master Chef(第2部分)中,我介绍了如何使用ASP.Net Core和Angular JS.在Master ...
- 小程序将base64的多张图片,传到tp5后台
zhu要是前端传过来的数据是base64的数据库存储不了base64的数据,因存储量太过于大,因此后台要将base64的数据转换成,34124323534.jpg等格式的,数据库才可将其存储 源码暂时 ...
- 用C写一个简单的推箱子游戏(一)
我现在在读大二,我们有一门课程叫<操作系统>,课程考查要求我们可以写一段程序或者写Windows.iOS.Mac的发展历程.后面我结合网上的资料参考,就想用自己之前简单学过的C写一关的推箱 ...
- 第四届58topcoder编程大赛--地图路径规划
layout: post title: 第四届58topcoder编程大赛 subtitle: 58ACM catalog: true tags: - A* 算法 - C++ - 程序设计 问题及背景 ...
- 多测师讲解selenium _a标签定位()_高级讲师肖sir
shift+ctrl+c 快捷键 调出元素