当前位置: 首页 > news >正文

利用python 进行数据分析(第三版)第二章小结

利用python 进行数据分析(第三版)第二章小结

由于是闲暇时间看的,且为读书笔记,所以只会写一些心得和容易混淆的知识,简单知识将不在重复

  1. 在变量或者函数后使用?可以查看详细信息。?还有最后一个用途,即以类似于标准 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
    
  2. 函数可以同时采用位置参数关键字参数:

    result = f(a, b, c, d=5, e="foo")
    
  3. 在Python中分配变量(或名称)时,使用赋值号,不是复制,而是直接引用,例如:

    In [8]: a = [1, 2, 3]
    

    假设我们分配a给一个新变量b

    In [9]: b = aIn [10]: b
    Out[10]: [1, 2, 3]
    

    在某些语言中,赋值 ifb会导致数据[1, 2, 3]被复制。在 Python 中,ab实际上现在引用同一个对象,即原始列表[1, 2, 3]。可以通过向 附加一个元素a然后检查来向自己证明这一点b

    In [11]: a.append(4)In [12]: b
    Out[12]: [1, 2, 3, 4]
    
  4. 访问对象的属性时,可以使用"." +Tab键,也可以使用getattr,例如:

    In [32]: getattr(a, "split")
    Out[32]: <function str.split(sep=None, maxsplit=-1)>
    
  5. 通常,我们可能不关心对象的类型,而只关心它是否具有某些方法或行为。这有时被称为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
    
  6. 符串模板或格式化是另一个重要主题。随着 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'
    
  7. 在现代 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'
    
  8. 内置的 Pythondatetime模块提供datetimedate、 和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实例,可以使用datatime方法获取它的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时间序列的一些值,例如,将minutesecond字段替换为零:

    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 进行数据分析&#xff08;第三版&#xff09;第二章小结 由于是闲暇时间看的&#xff0c;且为读书笔记&#xff0c;所以只会写一些心得和容易混淆的知识&#xff0c;简单知识将不在重复 在变量或者函数后使用?可以查看详细信息。?还有最后一个用途&#xff0c;即…...

【ASP.NET MVC】使用动软(四)(12)

一、筛选器类和Cookie实现路由 需解决的问题&#xff1a; 网站登录往往需要用户名密码验证&#xff0c;为避免重复验证&#xff0c;一般采用Cookie 、Session等技术来保持用户的登录状态&#xff1a; Session是在服务端保存的一个数据结构&#xff0c;用来跟踪用户的状态&…...

【web逆向】全报文加密及其登录流程的分析案例

aHR0cHM6Ly9oZWFsdGguZWxkZXIuY2NiLmNvbS9zaWduX2luLw 涉及加密库jsencrypt 定位加密点 先看加密的请求和响应&#xff1a; 全局搜索加密字段jsondata&#xff0c;这种非特定参数的一般一搜一个准&#xff0c;搜到就是断点。起初下的断点没停住&#xff0c;转而从调用栈单步…...

MyBatis枚举映射类讨论

前言 本篇需要对于MyBatis有一定的认识&#xff0c;而且只是针对于TypeHandler接口来讨论&#xff0c;暂不讨论其他方面的问题 TypeHandler概叙 TypeHandler是MyBatis设计的一个用于参数的接口&#xff0c;你们会不会很好奇MyBatis是如何把整形&#xff0c;时间&#xff0c;字符…...

微信开发之朋友圈自动点赞的技术实现

简要描述&#xff1a; 朋友圈点赞 请求URL&#xff1a; http://域名地址/snsPraise 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wId…...

Linux命令200例:sed对文本进行修改、替换和删除等操作的强大工具(常用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &…...

python 合并多个excel文件

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

【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

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

wordpress日主题Ripro9.0最新二开修正源码下载+美化包和插件

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

fib Model Code史海拾贝

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

6.7.tensorRT高级(1)-使用onnxruntime进行onnx模型推理过程

目录 前言1. python-ort2. C-ort总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 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上&#xff0c;并在另一台机器上执行 Shell 命令&#xff0c;则需要注意命令的书写格式 示例说明 远程到 192.158.157.47 机器上&#xff0c;并执行命令 cd /tmp && ./zabbixagent_install.sh && echo Success 1、错误方式…...

FAST协议详解1 不同数据类型的编码与解码

一、概述 FAST协议里不同的数据类型在编码时有非常大的区别&#xff0c;比如整数只需要将二进制数据转为十进制即可&#xff0c;而浮点数则需要先传小数点位数&#xff0c;再传一个整数&#xff0c;最后将二者结合起来才是最终结果。本篇使用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协议又称网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议&#xff0c;是网络层中的协议。 2、特点 不可靠:它不能保证IP数据包能成功地到达它的目的地&#xff0c;仅…...

Oracle SQL存储过程能够返回表吗

使用Oracle游标返回表数据 在Oracle存储过程中&#xff0c;我们可以使用游标来返回表的数据。游标是一种类似于指针的数据类型&#xff0c;可以用来遍历和操作结果集。以下是一个示例的Oracle存储过程&#xff0c;通过游标返回表数据&#xff1a; CREATE OR REPLACE PROCEDUR…...

2 Vue使用v-bind来代替{{}}取值

注意&#xff01;当两个具有共同id的标签都要从数据层拿值时&#xff0c;需要使用div标签&#xff0c;赋予他们共同的id&#xff0c;不然其中有一个会拿不到数据&#xff01; v-bind用来绑定前标签的属性&#xff0c;然后对属性赋值。{{}}用来对前后标签中的文本赋值。使用方法…...

20230807在WIN10下使用python3将TXT文件转换为DOCX(在UTF8编码下转换为DOCX有多一行的瑕疵)

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

Flutter(八)事件处理与通知

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

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

ArcPy扩展模块的使用(3)

管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如&#xff0c;可以更新、修复或替换图层数据源&#xff0c;修改图层的符号系统&#xff0c;甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...

Django RBAC项目后端实战 - 03 DRF权限控制实现

项目背景 在上一篇文章中&#xff0c;我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统&#xff0c;为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...

AWS vs 阿里云:功能、服务与性能对比指南

在云计算领域&#xff0c;Amazon Web Services (AWS) 和阿里云 (Alibaba Cloud) 是全球领先的提供商&#xff0c;各自在功能范围、服务生态系统、性能表现和适用场景上具有独特优势。基于提供的引用[1]-[5]&#xff0c;我将从功能、服务和性能三个方面进行结构化对比分析&#…...

基于小程序老人监护管理系统源码数据库文档

摘 要 近年来&#xff0c;随着我国人口老龄化问题日益严重&#xff0c;独居和居住养老机构的的老年人数量越来越多。而随着老年人数量的逐步增长&#xff0c;随之而来的是日益突出的老年人问题&#xff0c;尤其是老年人的健康问题&#xff0c;尤其是老年人产生健康问题后&…...