Python数据分析之Pandas

python数据分析的Numpy和Pandas Numpy是Python进行科学计算,尤其是数据分析时,所用到的一个基础库。Numpy库的基础:Ndarray。Numpy数组的维数和元素数量由数组的型(shape)来决定,数组的型由N个正整数组成的元组来指定,元组的每个元素对应每一维的大小。数组的维统称为轴(axes),轴的数量被称作秩(rank)。Pandas是一个专门用于数据分析的开源Python库。pandas的核心为两大数据结构,分别是Series(一维)和DataFrance(多维)。 阅读详情

Python中的pandas模块进行数据分析:

1、数据结构简介:DataFrame和Series
2、数据索引index
3、利用pandas查询数据
4、利用pandas的DataFrames进行统计分析
5、利用pandas实现SQL操作
6、利用pandas进行缺失值的处理
7、利用pandas实现Excel的数据透视表功能
8、多层索引的使用

1. 数据结构简介

       在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame。Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其可通过索引标签的方式获取数据,还具有索引的自动对齐功能;DataFrame类似于numpy中的二维数组,同样可以通用numpy数组的函数和方法,而且还具有其他灵活应用,后续会介绍到。

1.1 Series的创建

序列的创建主要有三种方式:

1)通过一维数组创建序列

2)通过字典的方式创建序列

3)通过DataFrame中的某一行或某一列创建序列

这部分内容我们放在后面讲,因为下面就开始将DataFrame的创建。

1.2 DataFrame的创建

数据框的创建主要有三种方式:

1)通过二维数组创建数据框

2)通过字典的方式创建数据框

以下以两种字典来创建数据框,一个是字典列表,一个是嵌套字典。

3)通过数据框的方式创建数据框

2. 数据索引index

        细致的朋友可能会发现一个现象,不论是序列也好,还是数据框也好,对象的最左边总有一个非原始数据对象,这个是什么呢?不错,就是我们接下来要介绍的索引。 在我看来,序列或数据框的索引有两大用处,一个是通过索引值或索引标签获取目标数据,另一个是通过索引,可以使序列或数据框的计算、操作实现自动化对齐,下面我们就来看看这两个功能的应用。

2.1 通过索引值或索引标签获取数据

如果不给序列一个指定的索引值,则序列自动生成一个从0开始的自增索引。可以通过index查看序列的索引:

现在我们为序列设定一个自定义的索引值:

序列有了索引,就可以通过索引值或索引标签进行数据的获取:

千万注意:如果通过索引标签获取数据的话,末端标签所对应的值是可以返回的!在一维数组中,就无法通过索引标签获取数据,这也是序列不同于一维数组的一个方面。

2.2 自动化对齐

如果有两个序列,需要对这两个序列进行算术运算,这时索引的存在就体现的它的价值了—自动化对齐.

        由于s5中没有对应的g索引,s6中没有对应的e索引,所以数据的运算会产生两个缺失值NaN。注意,这里的算术结果就实现了两个序列索引的自动对齐,而非简单的将两个序列加总或相除。对于数据框的对齐,不仅仅是行索引的自动对齐,同时也会自动对齐列索引(变量名)

       数据框中同样有索引,而且数据框是二维数组的推广,所以其不仅有行索引,而且还存在列索引,关于数据框中的索引相比于序列的应用要强大的多,这部分内容将放在数据查询中讲解。

3. 利用pandas查询数据

这里的查询数据相当于R语言里的subset功能,可以通过布尔索引有针对的选取原数据的子集、指定行、指定列等。我们先导入一个student数据集.

查询数据的前5行

查询数据的前末尾5行

查询指定的行

student.loc[[0,2,4,5,7]] #这里的loc索引标签函数必须是中括号[]

查询指定的列

student[['Name','Height','Weight']].head() #如果多个列的话,必须使用双重中括号

也可以通过loc索引标签查询指定的列

student.loc[:,['Name','Height','Weight']].head()

查询出所有12岁以上的女生信息

student[(student['Sex']=='F') & (student['Age']>12)]

查询出所有12岁以上的女生姓名、身高和体重

student[(student['Sex']=='F') & (student['Age']>12)][['Name','Height','Weight']]

上面的查询逻辑其实非常的简单,需要注意的是,如果是多个条件的查询,必须在&(且)或者|(或)的两端条件用括号括起来。

 

参考链接https://www.cnblogs.com/nxld/p/6058591.html

python pandas 数据分析 阅读详情

相关推荐

pandas_talib

一个基于pandas的扩展的talib库,扩展了一些原生talib库没有的指标

Pandas TA:新手也能轻松实现高效量化策略的实战指南

今天介绍的Pandas TA是个金融量化分析库,非常适合量化入门级选手。无论是MACD、Z分数还是布林线,都能轻松计算,还能快速搭建交易策略。比如用MACD判断买卖时机,用Z分数识别超买超卖,操作简单又高效。如果你在想用Python做量化分析,这个工具绝对值得一试!

weixin_70955880的博客 3138

ATR2660:卫星导航高增益低噪声放大器芯片数据手册

中国BDS(北斗卫星导航系统),美国的GPS,俄罗斯的GLONASS和欧盟的GALILEO导航系统应用而专门设计。芯片支持3.3V至5V宽电源供电。采用2级放大器的结构设计,具有28dB高增益和0.85dB的低噪声系数。支持BDS、GPS、GALILEO、GLONASS等L。典型功率增益:30dB@5V;典型输入P1dB:-18dBm@3.3V;典型工作电流:12.7mA@3.3V;宽供电电压范围:3.3V~5V;典型噪声系数:0.85dB;频段的多个卫星导航系统;ATR2660是一颗。

YHPsophie的博客 559

玩转Pandas_TA:一站式掌握技术分析指标

01引言Pandas_TA—— 一个结合了pandas的强大数据处理能力与技术分析的库,旨在为金融市场分析师和交易者提供一个简单、高效的工具集,从而帮助他们更容易地在数据集上应用各种技术分析指标。pandas_ta为用户提供了直接在DataFrame上运行技术指标计算的能力,从而避免了复杂的数据转换和预处理步骤。这个库包含了从简单的移动平均线到复杂的振荡器和动量指标等众多经典和现代技术指标。对于...

Python金融量化 8653

【深度学习3】ubuntu22.04从零开始搭建深度学习环境

ubuntu22.04从零开始搭建深度学习开发环境

weixin_43387635的博客 1万+

DDM-MIMO-FMCW雷达速度模糊与解模糊MATLAB仿真

本文深入解析了DDM-MIMO-FMCW雷达中的速度模糊现象及其解模糊方法,通过MATLAB仿真详细展示了相位编码解调、速度扩展算法和混合波形设计三大解决方案。文章还提供了参数配置、信号建模和结果可视化的实用技巧,并分享了工程实践中的避坑指南,帮助开发者高效解决雷达信号处理中的速度模糊问题。

weixin_31528001的博客 347

【亲测免费】 Pandas TA 开源项目教程

Pandas TA 是一个专为 Python 3 设计的易用型 Pandas 扩展库,它集成了超过 130 个技术分析指标,使得金融市场的分析师和交易者能够轻松快捷地对数据集应用各类技术分析指标。此库允许用户直接在 Pandas DataFrame 上执行技术指标的计算,省去了繁琐的数据转换,支持与 TA-Lib 类似的功能,并且经过了兼容性测试。它的设计初衷是为了简化技术指标的应用过程,涵盖了从

gitblog_00462的博客 1180

hcaptcha无感验证码逆向实战:从接口分析到环境补全

本文详细解析了hcaptcha无感验证码的逆向实战过程。通过分析核心接口与加密逻辑,重点介绍了采用环境补全策略来模拟真实浏览器环境,从而绕过验证码检测。文章提供了从接口抓包、剖析hsw.js加密核心到使用Node.js搭建模拟环境的完整步骤,为自动化操作提供了一种稳健的解决方案。

weixin_29324401的博客 1149

PandasTA 源码解析(三)

【代码】PandasTA 源码解析(三)

龙哥盟 1023

永磁同步电机定子槽型设计实战:从梨形槽到矩形槽的NVH优化之路

本文深入探讨了永磁同步电机定子槽型设计在NVH优化中的关键作用,对比了梨形槽与矩形槽的性能差异。通过Ansys Maxwell仿真和实际案例,揭示了矩形槽在提升槽满率、降低电磁噪声方面的优势,并总结了五大设计黄金法则,为电机设计工程师提供了实用指导。

weixin_28740299的博客 492

运用AD进行stm32最小系统PCB图的绘制

运用AD进行stm32最小系统PCB图的绘制一、PCB图的绘制(1)布局(2)布线(3)覆铜(4)电气规则检查二、给PCB添加logo三、生成garber文件总结 一、PCB图的绘制 (1)布局 1.画好原理图后,新建一个PCB项目 2.在Design中选择第二项,导入器件 3.先点击右下角第一项,再点第二项导入器件 导入成功 4.导入后效果 选择紫红色方框,按电脑上的delete键把它删掉 5.在Tools选择Outside Board,自动排布器件 排布后效果如图 6.画线,确定板子范围

lucario1的博客 2149

【教程】python数据分析pandas快速学习

pandas是一个著名的python数据分析的开源库,他使用方便、应用广泛,与其他数据分析相关的第三方库兼容良好,是目前python数据处理的主流选择。

风舞雪凌月的博客 1675

阿里云Windows服务器部署网站全流程:从IIS配置到安全上线

Web服务器是承载网站应用、处理HTTP请求的核心软件。其工作原理是监听特定网络端口,接收客户端请求,并返回相应的网页、文件或动态生成的内容。在Windows Server环境中,IIS(Internet Information Services)作为微软官方Web服务器,凭借其与操作系统深度集成、图形化管理界面和对ASP.NET等微软技术栈的良好支持,成为许多开发者和运维人员的首选。其技术价值在于提供了稳定、可扩展的托管平台,支持从简单的静态网站到复杂的企业级Web应用。在云服务器普及的今天,将IIS部署

weixin_33552698的博客 326

Python - 数据分析三剑客之Pandas

阅读前可参考NumPy文章‌是Python中一个强大的开源数据分析库,专门用于处理结构化数据(如表格、时间序列等),其核心数据结构为Series(一维数组)和DataFrame(二维表格)。‌ 它基于NumPy构建,提供高效的数据清洗、操作、聚合及可视化功能,广泛应用于数据科学领域。1‌、核心数据结构‌‌:一维带标签数组,可存储任意数据类型(数值、字符串等),索引支持自定义或自动生成‌。

MinggeQingchun的博客 1598

8.5华为OD机试真题 新系统 - 最长不连续子串 (Java/Py/C/C++/Js/Go)

8.5华为OD机试真题 新系统 - 最长不连续子串 (Java/Py/C/C++/Js/Go)

算法大师! 621

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python 如何使用 Pandas 进行数据分析

Pandas 是一个开源的 Python 库,专门用于处理数据结构。Series:一维的数据结构,可以看作是带标签的一列数据,类似于 Excel 中的一列或数据库中的一个字段。DataFrame:二维的数据结构,类似于电子表格或 SQL 表,包含行和列,可以存储多种类型的数据。Pandas 的设计目标是为数据操作提供简单、直观的接口,使得处理大规模数据变得更加容易。Pandas 是 Python 中最强大的数据处理工具之一,它为我们提供了灵活、高效的方式来读取、操作、分析和导出数据。

chusheng1840的博客 1919

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python—数据分析神器pandas

python—数据分析神器pandas

深圳市多克创新科技有限公司 1874

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Python数据分析库Pandas——《Python数据分析库Pandas》

Pandas作为Python数据分析的核心库,已经广泛应用于各个领域的数据处理和分析任务中。它以其强大的功能、灵活性和易用性赢得了广大用户的青睐。随着数据科学的不断发展,Pandas也在不断更新和完善其功能,以适应更加复杂和多样化的数据处理需求。未来,我们可以期待Pandas在以下几个方面进行进一步的改进和扩展:一是优化性能,提高大数据处理的效率;二是加强与其他数据分析工具的集成和互操作性;三是提供更多高级的数据分析和挖掘功能,以满足更加复杂的数据分析需求。

Python老吕的博客 956

Python数据分析之pandas学习!

在pandas中有两类非常重要的数据结构,即序列Series和数据框DataFrame。Series类似于numpy中的一维数组,除了通吃一维数组可用的函数或方法,而且其可通过索引标签的方式获取数据,还具有索引的自动对齐功能;DataFrame类似于numpy中的二维数组,同样可以通用numpy数组的函数和方法,而且还具有其他灵活应用,后续会介绍到。根据性别分组,计算各组别中学生身高和体重的平均值:如果不对原始数据作限制的话,聚合函数会自动选择数值型数据进行聚合计算。

Python_trys的博客 1847

数据分析之Python-Pandas详解

Pandas 是 Python 语言的一个扩展程序库,用于数据分析。Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。Pandas 名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”(Python 数据分析)。Pandas 一个强大的分析结构化数据的工具集,基础是Numpy(提供高性能的矩阵运算)。Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。

大河之犬的博客 2万+

【Python知识】一个强大的数据分析库Pandas

Pandas 是一个强大的 Python 数据分析库,它提供了快速、灵活且富有表现力的数据结构,旨在使数据清洗、处理和分析工作变得更加简单和高效。Pandas 允许你轻松地对数据进行聚合和摘要统计。# 数据描述性统计# 数据聚合。

wendao76的专栏 1611

【Python】Pandas数据分析

transform()是pandas中的转换函数,对DataFrame执行传入的函数后返回一个相同形状的DataFrame。pandas.str.contains()函数是pandas库中的一个字符串匹配函数,用于在Series和DataFrame对象中通过正则表达式匹配来查找和筛选符合条件的字符串。系列可以包含不同类型的数据,就像我们想在系列中输入列表一样。分组是根据DataFrame/Series的某个字段值,将该字段的值相等的行/列分到同一组中,每一个小组是一个新的DataFrame或Series。

hj578609021的博客 530

Python数据分析之Numpy+Pandas+Matplotlib

支持多种图表类型:折线图(Line plots)、散点图(Scatter plots)、柱状图(Bar charts)、直方图(Histograms)、饼图(Pie charts)、热图(Heatmaps)、箱型图(Box plots)、极坐标图(Polar plots)、3D图(3D plots,配合 mpl_toolkits.mplot3d)Pandas 是 Python 数据分析工具链中最核心的库,充当数据读取、清洗、分析、统计、输出的高效工具,特别适用于处理结构化数据,如表格型数据。

jessfou的博客 1915

Python数据分析_Pandas可视化

本文主要介绍pandas中的空值处理、数据可视化、业务分析指标和方法。

m0_63845988的博客 979

Python数据分析之Pandas库

Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发团队继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。

hubing_hust的专栏 1万+

Python数据分析入门:Pandas与Matplotlib实战指南

Python数据分析之旅才刚刚开始!通过掌握Pandas和Matplotlib这两个核心工具,你已经具备了处理和分析真实世界数据的能力。记住,数据分析的核心不在于工具本身,而在于如何从数据中提取有价值的洞察。"数据就像石油,只有经过提炼才能转化为有价值的产品。欢迎在评论区分享你的数据分析项目或提出问题!完整代码已上传至GitHub仓库。

2402_89768441的博客 1238
上一篇: numpy中matrix*array、matrix*matrix和arrary*array的区别
下一篇: Numpy基础:数组和矢量计算
Ta来自江湖
博客等级 码龄9年 24粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值