利用python 进行数据分析(第三版)第二章小结
利用python 进行数据分析(第三版)第二章小结
由于是闲暇时间看的,且为读书笔记,所以只会写一些心得和容易混淆的知识,简单知识将不在重复
-
在变量或者函数后使用?可以查看详细信息。
?
还有最后一个用途,即以类似于标准 Unix 或 Windows 命令行的方式搜索 IPython 命名空间。多个字符与通配符 (*
) 组合将显示与通配符表达式匹配的所有名称。In [1]: b = [1, 2, 3]In [2]: b? Type: list String form: [1, 2, 3] Length: 3 Docstring: Built-in mutable sequence.#function In [6]: add_numbers? Signature: add_numbers(a, b) Docstring: Add two numbers together ReturnsIn [9]: import numpy as npIn [10]: np.*load*? np.__loader__ np.load np.loads np.loadtxt
-
函数可以同时采用位置参数和关键字参数:
result = f(a, b, c, d=5, e="foo")
-
在Python中分配变量(或名称)时,使用赋值号,不是复制,而是直接引用,例如:
In [8]: a = [1, 2, 3]
假设我们分配
a
给一个新变量b
:In [9]: b = aIn [10]: b Out[10]: [1, 2, 3]
在某些语言中,赋值 if
b
会导致数据[1, 2, 3]
被复制。在 Python 中,a
和b
实际上现在引用同一个对象,即原始列表[1, 2, 3]
。可以通过向 附加一个元素a
然后检查来向自己证明这一点b
:In [11]: a.append(4)In [12]: b Out[12]: [1, 2, 3, 4]
-
访问对象的属性时,可以使用"." +Tab键,也可以使用getattr,例如:
In [32]: getattr(a, "split") Out[32]: <function str.split(sep=None, maxsplit=-1)>
-
通常,我们可能不关心对象的类型,而只关心它是否具有某些方法或行为。这有时被称为DUCK类型,俗话说“如果它像鸭子一样行走并且像鸭子一样嘎嘎叫,那么它就是一只鸭子”。例如,如果对象实现了迭代器协议,则可以验证该对象是否可迭代。对于许多对象来说,这意味着它有一个
__iter__
“神奇方法”,尽管另一种更好的检查方法是尝试使用该iter
函数:In [33]: def isiterable(obj):....: try:....: iter(obj)....: return True....: except TypeError: # not iterable....: return False
该函数将返回
True
字符串以及大多数 Python 集合类型:In [34]: isiterable("a string") Out[34]: TrueIn [35]: isiterable([1, 2, 3]) Out[35]: TrueIn [36]: isiterable(5) Out[36]: False
-
符串模板或格式化是另一个重要主题。随着 Python 3 的出现,实现此目的的方法数量不断增加,在这里我将简要描述其中一个主要接口的机制。字符串对象有一个
format
方法,可用于将格式化参数替换为字符串,生成一个新字符串:In [79]: template = "{0:.2f} {1:s} are worth US${2:d}"
在这个字符串中:
{0:.2f}
表示将第一个参数格式化为具有两位小数的浮点数。{1:s}
表示将第二个参数格式化为字符串。{2:d}
表示将第三个参数格式化为精确整数。
为了替换这些格式参数的参数,我们将参数序列传递给该
format
方法:In [80]: template.format(88.46, "Argentine Pesos", 1) Out[80]: '88.46 Argentine Pesos are worth US$1'
Python 3.6 引入了一个名为f-strings(格式化字符串文字的缩写)的新功能,它可以使创建格式化字符串变得更加方便。要创建 f 字符串,请
f
在字符串文字前面写入字符。在字符串中,将 Python 表达式括在大括号中,以将表达式的值替换为格式化字符串:In [81]: amount = 10In [82]: rate = 88.46In [83]: currency = "Pesos"In [84]: result = f"{amount} {currency} is worth US${amount / rate}"
可以使用与上面的字符串模板相同的语法在每个表达式之后添加格式说明符:
In [85]: f"{amount} {currency} is worth US${amount / rate:.2f}" Out[85]: '10 Pesos is worth US$0.11'
-
在现代 Python(即 Python 3.0 及更高版本)中,Unicode 已成为一流的字符串类型,可以更一致地处理 ASCII 和非 ASCII 文本。在旧版本的 Python 中,字符串都是字节,没有任何显式的 Unicode 编码。假设您知道字符编码,则可以转换为 Unicode。下面是一个包含非 ASCII 字符的 Unicode 字符串示例:
In [86]: val = "español"In [87]: val Out[87]: 'español'
我们可以使用以下方法将此 Unicode 字符串转换为其 UTF-8 字节表示形式
encode
:In [88]: val_utf8 = val.encode("utf-8")In [89]: val_utf8 Out[89]: b'espa\xc3\xb1ol'In [90]: type(val_utf8) Out[90]: bytes
假设您知道对象的 Unicode 编码
bytes
,您可以使用以下方法返回decode
:In [91]: val_utf8.decode("utf-8") Out[91]: 'español'
-
内置的 Python
datetime
模块提供datetime
、date
、 和time
类型。该类型结合了和datetime
中存储的信息,是最常用的:date``time
In [113]: from datetime import datetime, date, timeIn [114]: dt = datetime(2011, 10, 29, 20, 30, 21)In [115]: dt.day Out[115]: 29In [116]: dt.minute Out[116]: 30
给定一个
datatime
实例,可以使用data
和time
方法获取它的data和time对象。In [117]: dt.date() Out[117]: datetime.date(2011, 10, 29)In [118]: dt.time() Out[118]: datetime.time(20, 30, 21)
该
strftime
方法将 a 格式化datetime
为字符串:In [119]: dt.strftime("%Y-%m-%d %H:%M") Out[119]: '2011-10-29 20:30'
可以使用以下函数将字符串转换(解析)为
datetime
对象strptime
:In [120]: datetime.strptime("20091031", "%Y%m%d") Out[120]: datetime.datetime(2009, 10, 31, 0, 0)
当聚合或以其他方式对时间序列数据进行分组时,会常常用到替代datatime时间序列的一些值,例如,将
minute
和second
字段替换为零:In [121]: dt_hour = dt.replace(minute=0, second=0)In [122]: dt_hour Out[122]: datetime.datetime(2011, 10, 29, 20, 0)
由于
datetime.datetime
是不可变类型,因此此类方法总是会生成新对象。所以在前面的例子中,dt
没有被修改:In [123]: dt Out[123]: datetime.datetime(2011, 10, 29, 20, 30, 21)
两个对象的差异
datetime
产生一个datetime.timedelta
类型:In [124]: dt2 = datetime(2011, 11, 15, 22, 30)In [125]: delta = dt2 - dtIn [126]: delta Out[126]: datetime.timedelta(days=17, seconds=7179)In [127]: type(delta) Out[127]: datetime.timedelta
输出
timedelta(17, 7179)
表明timedelta
编码偏移量为 17 天 7,179 秒。
相关文章:
利用python 进行数据分析(第三版)第二章小结
利用python 进行数据分析(第三版)第二章小结 由于是闲暇时间看的,且为读书笔记,所以只会写一些心得和容易混淆的知识,简单知识将不在重复 在变量或者函数后使用?可以查看详细信息。?还有最后一个用途,即…...

【ASP.NET MVC】使用动软(四)(12)
一、筛选器类和Cookie实现路由 需解决的问题: 网站登录往往需要用户名密码验证,为避免重复验证,一般采用Cookie 、Session等技术来保持用户的登录状态: Session是在服务端保存的一个数据结构,用来跟踪用户的状态&…...

【web逆向】全报文加密及其登录流程的分析案例
aHR0cHM6Ly9oZWFsdGguZWxkZXIuY2NiLmNvbS9zaWduX2luLw 涉及加密库jsencrypt 定位加密点 先看加密的请求和响应: 全局搜索加密字段jsondata,这种非特定参数的一般一搜一个准,搜到就是断点。起初下的断点没停住,转而从调用栈单步…...
MyBatis枚举映射类讨论
前言 本篇需要对于MyBatis有一定的认识,而且只是针对于TypeHandler接口来讨论,暂不讨论其他方面的问题 TypeHandler概叙 TypeHandler是MyBatis设计的一个用于参数的接口,你们会不会很好奇MyBatis是如何把整形,时间,字符…...

微信开发之朋友圈自动点赞的技术实现
简要描述: 朋友圈点赞 请求URL: http://域名地址/snsPraise 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId…...

Linux命令200例:sed对文本进行修改、替换和删除等操作的强大工具(常用)
🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…...

python 合并多个excel文件
使用 openpyxl 思路: 读取n个excel的文件,存储在一个二维数组中,注意需要转置。将二维数组的数据写入excel。 安装软件: pip install openpyxl源代码: import os import openpyxl # 将n个excel文件数据合并到一个…...

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor
前言 在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率。但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载测试,而且它自带的监视器效…...

wordpress日主题Ripro9.0最新二开修正源码下载+美化包和插件
日主题Ripro9.0最新二开升级修正源码美化包和插件,RiPro9.0的二开版本新模板,包含2个美化包和全屏水印以及防复制插件。 模板和美化包路径:\wp-content\themes 插件路径:\wp-content\plugins,有兴趣的自行去体验吧...

fib Model Code史海拾贝
文章目录 0. 背景1. 强度等级不一致(20230807)1.1 问题描述(20230807)1.2 问题探索 0. 背景 本文主要记录在学习了解ModelCode的过程中产生的问题。当然,主要是我个人认为有意思的地方。欢迎有共同兴趣的网友留言一起…...

6.7.tensorRT高级(1)-使用onnxruntime进行onnx模型推理过程
目录 前言1. python-ort2. C-ort总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习 tensorRT 高级-使用 onnxruntime 进行 on…...
360未来安全研究院笔试题
笔试时间:2020.04.16,15:00-17:30。 岗位:Linux 安全开发工程师(实习生) 题型: 能力测试——逻辑题(20个5分=100分) 专业测试——客观题(40个2分=80分) 专业测试——在线编程题(2个25分=50分) 逻辑题 一共40道题目,很多逻辑推断题,包含数字找规律和图片找…...
Linux SSH 远程连接主机,并执行命令
应用场景 当需要远程到另一台Linux上,并在另一台机器上执行 Shell 命令,则需要注意命令的书写格式 示例说明 远程到 192.158.157.47 机器上,并执行命令 cd /tmp && ./zabbixagent_install.sh && echo Success 1、错误方式…...

FAST协议详解1 不同数据类型的编码与解码
一、概述 FAST协议里不同的数据类型在编码时有非常大的区别,比如整数只需要将二进制数据转为十进制即可,而浮点数则需要先传小数点位数,再传一个整数,最后将二者结合起来才是最终结果。本篇使用openfast自设了一些数据并编码成FA…...

黑马大数据学习笔记5-案例
目录 需求分析背景介绍目标需求数据内容DBeaver连接到Hive建库建表加载数据 ETL数据清洗数据问题需求实现查看结果扩展 指标计算需求需求指标统计 可视化展示BIFineBI的介绍及安装FineBI配置数据源及数据准备 可视化展示 P73~77 https://www.bilibili.com/video/BV1WY4y197g7?…...
网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)
TCP/IP协议族 一、IP协议 1、IP协议简介 IP协议又称网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。 2、特点 不可靠:它不能保证IP数据包能成功地到达它的目的地,仅…...
Oracle SQL存储过程能够返回表吗
使用Oracle游标返回表数据 在Oracle存储过程中,我们可以使用游标来返回表的数据。游标是一种类似于指针的数据类型,可以用来遍历和操作结果集。以下是一个示例的Oracle存储过程,通过游标返回表数据: CREATE OR REPLACE PROCEDUR…...
2 Vue使用v-bind来代替{{}}取值
注意!当两个具有共同id的标签都要从数据层拿值时,需要使用div标签,赋予他们共同的id,不然其中有一个会拿不到数据! v-bind用来绑定前标签的属性,然后对属性赋值。{{}}用来对前后标签中的文本赋值。使用方法…...

20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵)
20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵) 2023/8/7 12:58 https://translate.google.com/?slen&tlzh-CN&opdocs 缘起,由于google的文档翻译不支持SRT/TXT格式的字幕,因此…...

Flutter(八)事件处理与通知
1.原始指针事件处理 一次完整的事件分为三个阶段:手指按下、手指移动、和手指抬起,而更高级别的手势(如点击、双击、拖动等)都是基于这些原始事件的。 Listener 组件 Flutter中可以使用Listener来监听原始触摸事件 Listener({…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...