利用python进行数据分析(十七)

归纳推理测试没做完_Pandas50道练习题,Numpy100道没做完的同学不许点开! ——本文依旧转载自Datawhale社区Pandas 是基于 NumPy 的一种数据处理工具,该工具为了解决数据分析任务而创建。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的函数和方法。这些练习着重DataFrame和Series对象的基本操作,包括数据的索引、分组、统计和清洗。友情提示:代码虽好,自己动手才算学到。基本操作1.导入 Pandas 库并简... 阅读详情

第五章

5.2.3 索引选择与过滤

Series的索引与NumPy数组的索引功能类似,不过Series的索引值可以不仅仅是整数。

>>>obj = pd.Series(np.arange(4.), index=['a', 'b', 'c', 'd'])
>>>obj
a    0.0
b    1.0
c    2.0
d    3.0
dtype: float64

>>>obj['a']
0.0
>>>obj[0]
0.0
#索引多个值
>>>obj[['a', 'c']]
a    0.0
c    2.0
dtype: float64
#布尔值索引(按条件过滤)
>>>obj[obj > 2]
d    3.0
dtype: float64

与普通的python切片不包含尾部不同的是,Series的切片是包含尾部值的:

obj['a':'c']
a    0.0
b    1.0
c    2.0
dtype: float64
obj[0:2]
a    0.0
b    1.0

Series的索引和切片也是视图,所以通过索引设值,会改变原Series相应的部分:

>>>obj[['a', 'c']] = 5
>>>obj
a    5.0
b    1.0
c    5.0
d    3.0
dtype: float64

使用单个值或者序列,可以从DataFrame中选择一个或者多个列:

>>>data = pd.DataFrame(np.arange(16).reshape((4, 4)), index=['dog', 'cat', 'lion', 'panda'], columns=['one','two', 'three', 'four'])
>>>data
       one  two  three  four
dog      0    1      2     3
cat      4    5      6     7
lion     8    9     10    11
panda   12   13     14    15

>>>data['two']
dog       1
cat       5
lion      9
panda    13
Name: two, dtype: int32
>>>data[['one', 'four']]
       one  four
dog      0     3
cat      4     7
lion     8    11
panda   12    15

上面传递单个元素或者一个列表到DataFrame中可以选择列;选择行的话,需要使用整数标签:

>>>data[:2]
     one  two  three  four
dog    0    1      2     3
cat    4    5      6     7

DataFrame配合布尔值数组进行切片可以让我们更加方便的选取自己需要的数据部分:

#选取‘three’列中值大于5的部分的前两行
>>>data[data['three'] > 5][:2]
      one  two  three  four
cat     4    5      6     7
lion    8    9     10    11

对DataFrame索引的设置同样会映射到原DataFrame:

>>>data[data > 10] = 999
>>>data
       one  two  three  four
dog      0    1      2     3
cat      4    5      6     7
lion     8    9     10   999
panda  999  999    999   999

5.2.3.1 使用loc和iloc选择数据

在DataFrame中,虽然向上面那样的数据选择方式已经挺方便了,但是也具有明显的缺陷:选择行的时候对标签利用的不充分,这会更容易出错。所以pandas设置了特殊的索引符号:loc和iloc。我们可以选择使用轴标签(loc)和整数标签(iloc)来选出数组的行和列的子集。

>>>data
       one  two  three  four
dog      0    1      2     3
cat      4    5      6     7
lion     8    9     10    11
panda   12   13     14    15
#选取行
data.loc['cat']
one      4
two      5
three    6
four     7
Name: cat, dtype: int32
>>>data.iloc[1]
one      4
two      5
three    6
four     7
Name: cat, dtype: int32
#选取列
>>>data.loc[:,'one']
dog       0
cat       4
lion      8
panda    12
Name: one, dtype: int32
>>>data.iloc[:,0]
dog       0
cat       4
lion      8
panda    12
Name: one, dtype: int32
>>>data.loc['lion', ['two', 'four']]
two      9
four    11
Name: lion, dtype: int32
#等同于
>>>data.iloc[2, [1, 3]]
two      9
four    11
Name: lion, dtype: int32

除了用于单个标签或者标签列表外,索引功能还可以用于切片:

>>>data.loc[:'lion', 'two':'four']
      two  three  four
dog     1      2     3
cat     5      6     7
lion    9     10    11

还可以进一步进行过滤:

>>>data.loc[:'lion', 'two':'four'][data.four > 4]
two  three  four
cat     5      6     7
lion    9     10    11

DataFrame的索引选项:

类型描述
df[val]从DataFrame中选择单列或者列序列;特殊情况的便利:布尔数组(过滤行),切片(切片行)或布尔值DataFrame(根据某些标准设置的值
df.loc[val]根据标签选择DataFrame的单行或多行
df.loc[:, val]根据标签选择单列或多列
df.lco[val1, val2同时选择行和列的一部分
df.iloc[where]根据整数位置选择单行或多行
df.iloc[:, where]根据整数位置选择单列或多列
df.iloc[where_i, where-j根据整数位置选择行和列
df.at[label_i, label_j]根据行、列标签选择单个标量值
df.iat[i, j]根据行、列整数位置选择单个标量值
reindex方法通过标签选择行或列
get_values, set_values根据行和列的标签设置单个值
【python数据挖掘课程】二十七.基于SVM分类器的红酒数据分析 这是《Python数据挖掘课程》系列文章,前面很多文章都讲解了分类、聚类算法,这篇文章主要讲解SVM分类算法,同时讲解如何读取TXT文件数据并进行数据分析及评价的过程。 文章比较基础,希望对你有所帮助,提供些思路,也是自己教学的内容。推荐大家购买作者新书《Python网络数据爬取及分析从入门到精通(分析篇)》,如果文章中存在错误或不足之处,还请海涵。 目录: 一.SVM基础概念 二.SVM基本使用方法 三.TXT红酒数据集预处理 四.SVM分析红酒数据 五.代码优化 阅读详情

相关推荐

【Pandas数据处理100例目录】Python数据分析玩转Excel表格数据

大家好,我是阿光。本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。正在更新中~ ✨。

优快云 精品推荐 2万+

Python3 df.loc和df.iloc函数用法及提取指定行列位置处数值

关于pandas.dataframe.loc与pandas.dataframe.iloc用法官方说明,见官网。 df.loc和df.iloc函数用法的df由pandas.read_csv()函数读取而来。 1. DataFrame.loc Access a group of rows and columns by label(s) or a boolean array. .loc[] is primarily label based, but may also be used with a boolean

Never Settle 2万+

Python数据分析NumPy和pandas(三十七、时区处理、期间和期间计算处理)

我们可以将 Period(“2023”, “Y-DEC”)视为一种指向时间跨度的游标,按月周期细分。我们可以用下图来说明。因此,大多数人选择独立于地理的国际标准UTC,时区表示为与 UTC 的偏移量,例如,中国的夏令时比UTC早一小时‌。虽然默认情况下新 PeriodIndex 的频率是从时间戳推断出来的,但我们可以指定pandas任何支持的频率。在 Python 中,时区信息来自第三方 pytz 库(可使用 pip 或 conda 安装),该库公开了 Olson 数据库,即世界时区信息的汇编。

FreedomLeo1的博客 1167

【利用python进行数据分析】第5章pandas入门

pandas的数据结构介绍 要使用pandas,你首先就得熟悉它的两个主要数据结构:Series和DataFrame。虽然它们并不能解决所有的问题,但它们为大多数应用提供了一种可靠的、易于使用的基础。由于频繁的使用pandas、Series和DataFrame,所以我们将其引入本地命名空间中会更方便 from pandas import Series, DataFrame import pa...

yeverwen的博客 565

【WILEY】wiley期刊投稿详解:从revision到Accepted全流程实例讲解

注意:包括没标注修改位置的word文件和标注了修改位置的word文件。

Everyday try to become better -Kobe Bryant 1万+

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)

Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)算法背景介绍Hessian 矩阵与泰勒多项式关于求t导数与中心点、亚像素点高斯函数作用文献 算法背景介绍 在线结构光视觉传感器中,由线激光器发射出的线结构光,在本质上为一个连续且具有一定厚度的空间光平面,而在目标表面上所形成的具有一定宽度的光条特征,即为该光平面与目标表面相交而成的交线。在该空间光平面的厚度方向上,光强近似服从高斯分布,因而在摄像机采集到的光条图像中,在沿着光条宽度的方向或光条的法线方向上,其灰度也会呈现出类似

jiangxing11的博客 1万+

Python数据分析系列5---DataFrame数据操作

1、索引对象index pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index: In [76]: obj = pd.Series(range(3), index=['a', 'b', 'c']) In [77]: index = obj.index In [78]: index Out[78]: Index(['a', 'b', 'c'], dtype='object') In [79

webwow的博客 2506

linux 4.19在龙芯平台上编译出错解决方法

OS: Loongnix server 1.7 工具链为:系统自带的gcc-4.8.5 和 gcc-7.3 平台:3A3000/3A4000 源码:kernel: 4.19 编译步骤 ··· make loongson3_defconfig make -j4 ··· 出错信息: HOSTCC arch/mips/boot/compressed/calc_vmlinuz_load_addr arch/mips/boot/compressed/head.S: Assembler messages: arch/m

sense的专栏 1125

5.2.3 Pandas的索引、 选择和过滤

1.从Series中索引  obj = pd.Series(np.arange(4.), index=['a', 'b', 'c', 'd']) print(obj) print(obj['a']) print(obj[['b', 'a', 'c']]) print(obj[2:4])#这里用基本顺序切出来的,不包含尾部 print(obj[[1, 3]]) print(obj[obj &lt...

weixin_39012401的博客 309

零基础入门Simulink——基于Simulink的MIMO-OFDM系统仿真建模示例

MIMO概述MIMO技术利用多个天线进行信号发送和接收,通过空间复用来提高数据传输速率,或通过空间分集来增强信号的可靠性。OFDM概述OFDM是一种将高速率数据流分成多个低速数据流并行传输的技术,每个子载波都采用调制方式(如BPSK、QPSK),并通过IFFT/FFT变换实现串并转换。MIMO-OFDM优势结合了MIMO的空间分集增益与OFDM对抗多径效应的能力,适用于宽带无线通信系统。提供了更高的数据速率和更好的频谱效率,是现代无线通信标准(如4G LTE、5G NR等)的核心技术之一。

amy_mhd的博客 889

把 SAP OData 查询模式讲透:从 $select 到 $expand 的设计、实现与性能边界

摘要:本文深入探讨SAP生态中OData查询模式的核心设计与实现要点。文章指出,OData不仅是接口协议,更是HTTP、REST与数据模型的统一语言,其性能关键取决于查询选项($select、$filter等)的设计与实现质量。重点分析了$select的投影优化、$orderby的排序语义、$filter的数据库下推策略,以及$count的高效计数方法。通过具体示例和最佳实践,强调应将查询逻辑尽量下推至数据库层,避免在ABAP应用层处理大数据集,从而提升服务性能、降低资源消耗,实现Clean Core架构理

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 650

2026年第十七届蓝桥杯网络安全赛项WriteUp

本文梳理多类CTF题目核心解题思路与Flag获取方法,覆盖Web安全、密码学等领域:情报收集拆解JS源码,用Python构造请求解码Base64;数据分析对CSV序列拟合残差分析,异常点转二进制解码;密码破解借种子值复现随机数,结合时间戳、订单号推导;逆向分析解析二进制头,逆向加密算法还原;漏洞挖掘巧用路径绕过等获取凭证;数据库安全通过SQL注入+报表生成提取;AI安全按指令序列触发后端获取。全文配套解题代码与步骤,Flag均为动态生成。

2401_87471430的博客 1732

让 OData V4 界面更聪明:SAP UI5 中的 Side Effects 全解析

摘要:在OData V4应用中,字段修改常触发联动更新(Side Effects)。SAP UI5支持通过后端PATCH响应隐式返回或前端显式请求(requestSideEffects)两种方式处理。最佳实践包括:在validateFieldGroup事件中触发同批次请求,使用$$patchWithoutSideEffects避免重复刷新,并在草稿场景优化响应体。注解定义触发规则,而前端负责执行时机,二者配合可减少网络开销并保证数据一致性。Fiori elements进一步扩展了Side Effects在批

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 178

〖码银送书第十七期〗《Python数据分析》

本书分为两大部分:第一部分(第1~7章)为Python数据分析基础篇,主要介绍Python的工作环境、编程基础、Excel数据文件的操作、Pandas数据包的应用等。对于编程菜鸟,这部分内容是必学内容,不仅可以帮助大家快速掌握Python编程的基础知识,还能快速入门数据操作和分析。学完这部分内容,读者就可以应对工作中大部分初级Python数据分析类工作。

码银的博客 5335

学Simulink--机器人基础关节控制场景实例:基于Simulink的无刷直流电机(BLDC)关节六步换相位置控制仿真

本文详细介绍了基于Simulink的BLDC六步换相位置控制仿真方法,针对机器人关节的低成本控制需求。重点阐述了霍尔定位、六步换相和位置闭环三大核心原理,通过Simulink建模实现了从霍尔信号处理到位置环控制的全流程。仿真结果表明,该系统可实现0.3°的定位精度和80ms的响应时间,满足教育机器人等应用场景需求。文章还提供了核心代码模块和参数设置方法,并探讨了转矩脉动抑制、无传感器控制等进阶优化方向,为低成本机器人关节驱动提供了实用解决方案。

amy_mhd的博客 152

UNet 改进(45):轻松集成Triplet Attention,让分割效果起飞!

本文介绍了一种在U-Net架构中集成CSRA残差注意力模块的方法。该模块通过结合通道注意力和空间注意力机制,在U-Net的瓶颈层对特征进行自适应重标定,使网络聚焦于关键区域。文章详细解析了代码实现,包括基础构建块DoubleConv、核心CSRA模块原理及其在U-Net中的战略位置集成。测试表明该模型能保持标准U-Net的输入输出维度,同时通过注意力机制提升特征选择能力。这种模块化设计便于在不同任务中应用,为图像分割领域提供了有效的注意力增强方案。

2401_82355416的博客 104

Python数据分析十七

Python之判断运算符is和isnot,Python的条件语句if语句、elif语句和else语句,Python的数据检测方法type

m0_63030819的博客 1324

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

跟我一起学Python数据处理(九十七):利用Twitter API进行数据获取

在学习Python数据处理的过程中,我发现很多小伙伴都和曾经的我一样,面对各种复杂的技术和工具感到迷茫。所以我决定把自己的学习心得分享出来,希望能和大家一起在数据处理的领域中探索、进步。今天,咱们就来学习如何利用Twitter API进行数据获取

yyy173611的博客 4434

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【码银送书第二十七期】《巧用ChatGPT进行数据分析与挖掘》

导读:在现代数据分析中,Python凭借其强大的数据处理能力和丰富的库资源成为首选工具。ChatGPT,作为先进的自然语言处理模型,正逐步成为Python数据分析与挖掘的强大辅助工具。通过ChatGPT的自然语言处理能力,用户可以轻松生成代码、解释数据模型和优化算法,极大地提升了数据分析的效率和准确性。无论是数据清洗、特征工程还是建模预测,ChatGPT都能提供智能建议,助力数据分析人员更快地实现数据洞察和商业价值。

码银的博客 1388

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python数据分析之pandas库的使用详解

本篇文章目录一、前言二、什么是pandas三、pandas安装四、pandas的常用数据类型4.1 series:表示一维,带标签数组,一行或一列4.1.1创建series4.1.2 打印索引值4.1.3 打印数据值4.1.3 创建一个具有标签索引的series4.1.4 使用python字典创建series4.1.5 根据索引值查询数据4.2 DataFrame:表示二维,多行多列五、数据的读取......

qq_46292926的博客 2447

基于python的数据分析案例-基于Python数据分析与机器学习案例实战教程

课程背景基于数据分析与机器学习领域,使用python作为课程的实战语言,随着大数据与人工智能领域日益火爆,数据分析和机器学习建模成了当下最热门的技术,课程旨在帮助同学们快速掌握python数据分析包以及经典机器学习算法并通过对真实数据集分析进行实战演示。1.课程研发环境课程基于windows环境进行讲解与代码演示,需要同学们搭建Python环境,推荐根据课时(使用Anaconda搭建python环...

weixin_37988176的博客 2994

【Python入门系列】第十七篇:Python大数据处理和分析

大数据处理和分析是指对大规模数据集进行收集、存储、处理和分析的过程。随着互联网和信息技术的发展,我们可以轻松地获取到大量的数据,这些数据包含着宝贵的信息和洞察力。然而,由于数据量庞大、复杂性高和多样性,传统的数据处理和分析方法已经无法胜任。大数据处理和分析的目标是从大规模数据集中提取有价值的信息和知识,以支持决策制定、业务优化和问题解决。它涉及到数据清洗、数据转换、数据存储、数据挖掘、数据建模和数据可视化等多个环节。在大数据处理和分析中,我们需要使用一些工具和技术来处理和分析数据。

杰西笔记 5830

Python数据分析入门(十七):绘制条形图

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看 https://space.bilibili.com/523606542 Python学习交流群:1039649593 条形图的绘制方式跟折线图非常的类似,只不过是换成了plt.bar方法。plt.bar方法有以下常用参数: x:一个数组或者列表,代表需要绘制的条形图的x轴的坐标点。 height:一个数组或者列表,代表需要绘制的条形图y轴的坐标点。 width:每一个条形图的宽度,默认是0.8的宽度。 bottom:y轴的

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 2179

Python:Pandas基础学习(十七)

Python:Pandas基础学习(十七):

TJwuyeyoumin的博客 165

python数据分析与挖掘(十七)--- Pandas DataFrame运算

Python教程网 >>:www.python88.cn 1 算术运算 add(other) 比如进行数学运算加上具体的一个数字 data['open'].add(1) 2018-02-27 24.53 2018-02-26 23.80 2018-02-23 23.88 2018-02-22 23.25 2018-02-14 22.49 ...

python爬虫人工智能大数据 946

偷学Python第二十七天:PythonOS模块的详细用法

偷学Python第二十七天:PythonOS模块的详细用法 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼 文章目录偷学Python第二十七天:PythonOS模块的详细用法OS模块目录操作创建目录删除目录重命名目录获取目录遍历目录文件操作总结明日学习计划甜甜有话说 目标:可以用Python做一些简单的数据分析。 坚持完成自己的目标!勿忘初心~ OS模块 Python中的os模块提供了非常丰富的方法用来处理文件和目录。使用·import来引入此模块 目录操作 创建目录 mkdir().

一碗周 930
上一篇: 利用python进行数据分析(十六)
下一篇: 利用python进行数据分析(十八)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值