c++控制台应用每一列数据如何对齐_Python数据分析第五节 pandas入门
这一节将开始学习python的一个核心数据分析支持库---pandas,它是python数据分析实践与实战的必备高级工具。对于使用 Python 进行数据分析来说,pandas 几乎是无人不知,无人不晓的。今天,我们就来认识认识数据分析界鼎鼎大名的 pandas。
目录
一. pandas主要数据结构
Series
DataFrame
二. 列的查改增删
查看列
修改列
新增列
删除列
三. 导入Excel表格
一. pandas主要数据结构
想要了解pandas,我们需要先了解它的主要数据结构Series(一维数据)和DataFrame(二维数据),这两种数据足够用来处理金融,统计,社会工作工程等领域绝大多数案例!
在开始之前我们需要了解怎么导入pandas库
import pandas as pd
将 pandas 简写成 pd 几乎成了一种不成文的规定。因此,只要你看到 pd 就应该联想到这是 pandas。
Series
Series 是一种类似于 Numpy 中一维数组的对象,它由一组任意类型的数据以及一组与之相关的数据标签(即索引)组成。举个最简单的例子:
输出的结果中:左边的是数据的标签,默认从 0 开始依次递增。右边是对应的数据,最后一行表明了数据类型。
我们也可以像下面这样使用 index 参数自定义数据标签:
我们还可以直接使用字典同时创建带有自定义数据标签的数据,pandas 会自动把字典的键作为数据标签,字典的值作为相对应的数据。
可以看出运行结果和上面是一样的!
访问 Series 里的数据的方式,也是使用中括号加数据标签的方式来获取里面的数据
import pandas as pds1 = pd.Series([2, 4, 6, 8])s2 = pd.Series({'a': 2, 'b': 4, 'c': 6, 'd': 8})print(s1[0])# 输出:2print(s2['b'])# 输出:4
标签的作用很强大,我们可以对相同标签的两组数据进行加减乘除运算
假设有两个租车公司,我们要计算一下两家公司各种汽车的数量总和:
pandas 自动帮我们将相同数据标签的数据进行了计算,这就是数据对齐。
你可能会有疑问,如果两家租车公司汽车种类不一样怎么办,pandas 还能进行数据对齐吗?我们试一下就知道了。
可以看到,对于数据标签不相同的数据,运算后结果是 NaN。NaN 是 Not a Number(不是一个数字)的缩写,因为其中一个 Series 中没有对应数据标签的数据,无法进行计算,因此返回了 NaN。
对于这种情况,我们想让没有的数据默认为 0,然后再进行计算。这种需求 pandas 可以实现吗?
当然可以!只需调用 Series 的 add()
方法,并设置好默认值即可。具体用法如下:
add() 方法对应的是加法,数学中的四则运算在 pandas 中都有一一对应的方法,它们的用法都是类似的。具体对应关系如下图所示:
2. DataFrame
Series 是一维数据,而 DataFrame 是二维数据。什么意思呢?你可以把 DataFrame 想象成一个表格,表格有行和列这两个维度,所以是二维数据。
实际上,表格中的每一行或每一列都是一个 Series,这些 Series 就组成了 DataFrame。按行分,每一行数据加上上面的数据标签就是一个 Series, 或者按列分每一列数据加上左边的数据标签也是一个Series
那么,如何用 DataFrame 实现上图中那样的表格呢?也很简单,请看代码:
接下来是本节的重点——DataFrame。构建 DataFrame 的办法有很多,最常用的一种是传入一个由等长列表组成的字典。即字典里每个值都是列表,且它们的长度必须相等。
这样我们就得到了一个表格,字典的键会作为表格的列名。最左边的是索引,也是默认从 0 开始依次增加。当然,我们也可以在构建 DataFrame 的时候传入 index 参数来自定义索引。
全都写在一行代码就太长了,所以我把表格数据放到了变量 data 中。并且通过 index 参数将日期作为了 DataFrame 的索引。
二. 列的查改增删
1. 查看列
为了减少重复代码的出现,接下来的讲解都基于下面的代码。
import pandas as pddata = { '兰博基尼': [14, 20], '迈凯轮': [7, 3], '法拉利': [8, 13], '帕加尼': [10, 6]}df = pd.DataFrame(data, index=['租车公司A', '租车公司B'])
如果我们只想查看有关法拉利的数据,我们可以这样写:
print(df['法拉利'])
输出结果为:
我们还能同时选择多列进行查看,只要把多个列名放到列表当中即可。
print(df[['法拉利', '迈凯轮']])
输出结果为:
2. 修改列
如果我们发现表格中的数据有错误,想要修改,这其实非常的简单,直接对已有列直接赋值即可。
df['法拉利'] = [18, 23]print(df)
输出结果就为修正后的:
3. 新增列
如果想要新增一列同样也非常的简单,对表格中不存在的列直接赋值就能添加新的列了。
df['奥迪R8'] = [3, 5]print(df)
输出结果为
4. 删除列
删除列需要用到 drop() 方法。我们先来看一下用法:
df.drop('迈凯轮', axis=1, inplace=True)print(df)# 或者 print(df.drop('迈凯轮', axis=1))
drop()
方法的第一个参数是要删除的列名或索引。axis 表示针对行或列进行删除,axis = 0 表示删除对应的行,axis = 1 表示删除对应的列,axis 默认为 0。
最后的 inplace = True 表示直接修改原数据,否则 drop()
方法只是返回删除后的表格,对原表格没有影响。因此上面两种写法的结果是一样的。
三. 导入Excel表格
导入Excel表格只需要一行代码即可:
import pandas as pddf = pd.read_excel('文件所在路径/文件名.xlsx')
我们可以用代码:
print(type(df))
来查看导入数据是一维数据(Series)还是二维数据(DataFrame)
读取到表格数据后,可能表格数据很多,我们想大致确认一下表格内容,不需要打印出完整的表格。这时我们可以使用 head() 方法来查看前 5 条数据。
代码为:
print(df.head())
head() 方法还支持传入参数来控制显示前多少条数据,比如前 2 条数据:
print(df.head(2))
除了查看开头的一些数据,还可以使用 tail() 方法查看末尾的数据。用法和 head() 一致,默认显示 5 条,可以传入参数来改变显示的条数。
print(df.tail())
我们还能通过 info() 方法查看整个表格的大致信息。
print(df.info())
运行结果及主要含义如下图所示:(用季度销售额的数据举例)
通过 info()
方法我们可以对表格大致有个了解,知道有几行几列,以及哪列有多少条缺失数据。
除此之外,我们还能通过 describe()
方法来快速查看数据的统计摘要,方便我们对数据有一个直观上的认识。
print(df.describe())
生成的摘要从上往下分别表示数量、平均数、标准差、最小值、25% 50% 75% 位置的值和最大值。
?
长按关注公众号
欢迎留言交流
c++控制台应用每一列数据如何对齐_Python数据分析第五节 pandas入门相关推荐
- c++控制台应用每一列数据如何对齐_懂Excel就能轻松入门Python数据分析包pandas(十六):合并数据...
此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd 转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的) 经常听别人说 ...
- R计算两列数据的相关系数_Python+pandas计算数据相关系数(person、Kendall、spearman)...
pandas中DataFrame对象corr()方法的用法,该方法用来计算DataFrame对象中所有列之间的相关系数(包括pearson相关系数.Kendall Tau相关系数和spearman秩相 ...
- C#读取EXCEL列数据,并画折线图(刚开始入门小白自己整理的,方便自己以后看)
首先建立一个c#dll文件,添加代码: using System; using System.Collections.Generic; using System.Linq; using System. ...
- python数据分享人力资源_Python数据分析帮你清晰的了解整理员工们的工作效率和整体满意度...
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 项目背景 2018年,被称为互联网的寒冬之年.无论大小公司,纷纷走上了裁员 ...
- python数据建模工具_python数据分析工具——Pandas、StatsModels、Scikit-Learn
Pandas Pandas是 Python下最强大的数据分析和探索工具.它包含高级的数据结构和精巧的工具,使得在 Python中处理数据非常快速和简单. Pandas构建在 Numpy之上,它使得以 ...
- python 依据某几列累加求和_Python数据分析(2)-pandas versus excel
上一篇还有一个知识点就是,相关系数 #得出表中列与列之间的相关性大小 part4 多表联合查询(join) 1.多表联合 excel中是用vlookup,pandas中是用merge和join,数据库 ...
- python查看数据最后五行_python数据分析
一.数据导入和导出 (一)读取csv文件 1.本地读取 import pandas as pd df = pd.read_csv('E:\\tips.csv') 2.网络读取 import panda ...
- dataframe 一列的不同值_python数据分析包|Pandas-02之缺失值(NA)处理
本篇详解pandas中缺失值(Missing data handling)处理常用操作. 缺失值处理常用于数据分析数据清洗阶段:Pandas中将如下类型定义为缺失值: NaN: '', '#N/A', ...
- python如何给某列数据打标签_Python map, apply, transform 打标签方法汇总(初阶到高阶)...
前言 根据数据的某列进行打标签这个操作在数据分析领域极度常用,对于一些较为复杂的打标签方法,Python 与 SQL 都能很好的实现,这篇针对 Python,主要用到 map,apply 与 tran ...
最新文章
- Linux下Shell重定向
- log4j的日志级别(ssm中log4j的配置)
- spark 持久化 mysql_Spark 从零到开发(八)nginx日志清洗并持久化实战
- 【WPF】右键菜单ContextMenu可点击区域太小的问题
- 在JUnit测试中使用Builder模式
- android根据中心裁剪图片,拍照,选择照片并进行裁剪,适配Android 7.0
- SOA技术相关介绍(RPC, Web Service, REST,SOAP,JMI)
- java将url页面生成pdf_如何将PDF页面从横向改成纵向?
- 这文字的起始位置_如何用AE快速制造文字特效视频的效果?3分钟教你学会
- PCB设计布局思路分析
- [OS X軟件] 我一直在用的 司机会看的那种 免费资源又多
- monkey入门研究
- Lomboz插件的使用
- c语言编程星号输出图形的步骤,使用C语言打印不同星号图案
- 计算机相关英语生词积累
- 计算机外部设备选购及组装
- XSD文件与xml 文件
- 离职后,华为的哪些东西是你最留恋的?
- [最强大脑]获奖名单
- 【珍藏】高手写SCI常用经典词和常用句型
热门文章
- David与Vincent的博弈游戏[树型DP]
- hadoop学习之旅1
- k8s系列----一个简单的例子
- 3种常见的linux版本,查看linux版本的三种常用方法
- 大话设计模式之简单的工厂模式
- mac 端口转发方案
- WebApi2官网学习记录---异常处理
- JavaSE replaceAll 方法
- oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解
- 运行php能运行asp么,配置使web server即能运行asp又能运行PHP(不装Apache)