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

Python知识分享第三十一天-Numpy和Pnadas入门

NumPy

Numpy介绍

Numpy是Python中科学计算的基础包,它是一个Python库提供多维数组对象 各种派生对象(如掩码数组和矩阵),以及用于对数组进行快速的各种例程,包括数学 ,逻辑, 形状操作,排序,选择,I/O,离散傅里叶变换,基本线性代数,基本统计运算,随机模拟等等(Numpy的核心是ndarray对象 这是一个多维数组)

安装方式

pip install numpy

多维数组概念

在numpy中 维度被称作轴例如[[ 0  1  2  3  4][ 5  6  7  8  9][10 11 12 13 14]]在以上数组中有两个轴 即是二维数组. 第一个轴有三个元素 即分别是[ 0  1  2  3  4], [ 5  6  7  8  9], [10 11 12 13 14]   |长度为3  第二个轴有五个元素 即长度为5

Numpy的常用属性是实例

数组维度(轴数): arr.ndim
数组的形状(行数列数): arr.shape
数组的元素类型: arr.dtype
数组中每个元素占的字节数: arr.itemsize
数组中元素的个数: arr.size
数组的类型: type(arr)

创建ndarry数组的方式

array()函数arr = numpy.attay([1,2,3,4,5],dtype=numpy,int32)
arange()函数arr = numpy.arange(0,10,2,dtype=numpy.int32)   
## arange(起始值,结束值,步长,dtype=numpy.数据类型)
创建随机数矩阵arr = numpy.random.rand(3,4)  |生成0.0-1.0之间的随机数 包左不包右arr = numpy.random.rand(-1,5,size(3,4)) ----->生成指定范围的随机整数arr = numpy.random.uniform(-1,5,size(3,4)) -----> 生成指定的随机小数
创建等比数列logspace(起始次幂,结束次幂,数字个数,base=基数) ----> 生成等比数列 默认基数为10, 即10的起始次幂 ~10的结束次幂 包左包右 base参数可以修改基数例:创建长度为5的等比数列 起始次幂1 结束次幂3:
arr= numpy.logsapce(1,3,5)
创建等差数列生成指定范围内的等差数列 默认 包左包右格式: numpy.linspace(起始值,结束值,元素个数,encoding=True)创建等差数列:1,10之间 10个值arr =linsapce(1,10,10)NumPy中的数据类型转换转换格式新数组名 = arr.astype(numpy.要转成的类型)
例如:将numpy.float64转为 numpy.int32arr = numpy.zeros((3,4),dtype= numpy.float64)arr1 = arr.astype(numpy.int32)

NumPy常用函数

天花板数(向上取整):  numpy.ceil(arr)
地板数(向下取整):  numpy.floor(arr)
四舍五入:  numpy.rint(arr)
判断是否为空:  numpy.isnan(arr)
矩阵乘法:  numpy.multiply(arr1,arr2)
矩阵除法  numpy.divide(arr1,arr2)
判断数组内是否满足判断条件 满足返回第一个参数否则返回第二个
numpy.where(arr >0,1,-1)
sum() -> 求和,  cumsum() -> 计算累计和, 0 -> 列,  1 -> 行
numpy.unique() 去重函数 -> 获得到: 一维数组.    对原数组无影响, 是返回新的结果. 
numpy.sort():    排序, 返回新结果, 对原数组无影响.数组名.sort(): 排序, 直接对原数组排序.

Pandas

pandas,python+data+analysis的组合缩写,是python中基于numpy和matplotlib的第三方数据分析库,与后两者共同构成了python数据分析的基础工具包,享有数分三剑客之名。

正因为pandas是在numpy基础上实现,其核心数据结构与numpy的ndarray十分相似,但pandas与numpy的关系不是替代,而是互为补充。二者之间主要区别是:

从数据结构上看:numpy的核心数据结构是ndarray,支持任意维数的数组,但要求单个数组内所有数据是同质的,即类型必须相同;
而pandas的核心数据结构是series和dataframe,仅支持一维和二维数据,但数据内部可以是异构数据,仅要求同列
数据类型一致即可

numpy的数据结构仅支持数字索引,而pandas数据结构则同时支持数字索引和标签索引

从功能定位上看:numpy虽然也支持字符串等其他数据类型,但仍然主要是用于数值计算,尤其是内部集成了大量矩阵计算模块,例如基本
的矩阵运算、线性代数、fft、生成随机数等,支持灵活的广播机制pandas主要用于数据处理与分析,支持包括数据读写、数值计算、数据处理、数据分析和数据可视化全套流程操作		 

pandas主要面向数据处理与分析,主要具有以下功能特色:

按索引匹配的广播机制,这里的广播机制与numpy广播机制还有很大不同
便捷的数据读写操作,相比于numpy仅支持数字索引,pandas的两种数据结构均支持标签索引,包括bool索引也是支持的
类比SQL的join和groupby功能,pandas可以很容易实现SQL这两个核心功能,实际上,SQL的绝大部分DQL和DML操作在pandas中都可以实现
类比Excel的数据透视表功能,Excel中最为强大的数据分析工具之一是数据透视表,这在pandas中也可轻松实现
自带正则表达式的字符串向量化操作,对pandas中的一列字符串进行通函数操作,而且自带正则表达式的大部分接口
丰富的时间序列向量化处理接口
常用的数据分析与统计功能,包括基本统计量、分组统计分析等
集成matplotlib的常用可视化接口,无论是series还是dataframe,均支持面向对象的绘图接口
正是由于具有这些强大的数据分析与处理能力,pandas还有数据处理中"瑞士军刀"的美名。

数据结构

pandas核心数据结构有两种,即一维的series和二维的dataframe,二者可以分别看做是在numpy一维数组和二维数组的基础上增加了相应的标签信息。正因如此,可以从两个角度理解series和dataframe:

series和dataframe分别是一维和二维数组,因为是数组,所以numpy中关于数组的用法基本可以直接应用到这两个数据结构,包括数据创建、切片访问、通函数、广播机制等

series是带标签的一维数组,所以还可以看做是类字典结构:标签是key,取值是value;而dataframe则可以看做是嵌套字典结构,其中列名是key,每一列的series是value。所以从这个角度讲,pandas数据创建的一种灵活方式就是通过字典或者嵌套字典,同时也自然衍生出了适用于series和dataframe的类似字典访问的接口,即通过loc索引访问。

关于series和dataframe数据结构本身,有大量的方法可用于重构结构信息:

rename,可以对标签名重命名,也可以重置index和columns的部分标签列信息,接收标量(用于对标签名重命名)或字典(用于重命名行标签和列标签)reindex,接收一个新的序列与已有标签列匹配,当原标签列中不存在相应信息时,填充NAN或者可选的填充值set_index/reset_index,互为逆操作,前者是将已有的一列信息设置为标签列,而后者是将原标签列归为数据,并重置为默认数字标签set_axis,设置标签列,一次只能设置一列信息,与rename功能相近,但接收参数为一个序列更改全部标签列信息(rename中是接收字典,允许只更改部分信息)rename_axis,重命名标签名,rename中也可实现相同功能

pandas支持大部分的主流文件格式进行数据读写,常用格式及接口为:

文本文件,主要包括csv和txt两种等,相应接口为read_csv()和to_csv(),分别用于读写数据Excel文件,包括xls和xlsx两种格式均得到支持,底层是调用了xlwt和xlrd进行excel文件操作,相应接口为read_excel()和to_excel()SQL文件,支持大部分主流关系型数据库,例如MySQL,需要相应的数据库模块支持,相应接口为read_sql()和to_sql()此外,pandas还支持html、json等文件格式的读写操作。
# 1.Series
s1 = pd.Series([1,2,3])
s1 = pd.Series([1,2,3],index=['a','b','c'])
# 可以转换列表 元组 字典,Numpy等
# 字典
dict_pd = pd.Series({'name':'张三','gender':'男','age':23})
# 转Numpy
num_pd = pd.Series(np.arange(1,6))
# 2.Series对象的常用属性
# 创建Series对象
s2 = pd.Series(data=[i for i in range(6)],index=[i for i in 'ABCDEF'])
print(s2.index)
print(s2.values)
# 2.DataFrame对象的创建 常用属性和方法
# 字典加列表的方式存进DataFrame 
data_dict = {'日期': ['2024-12-19', '2024-12-20', '2024-12-21'],'温度': [8, 5, 7], '湿度': [65, 70, 60]
}
df1 = pd.DataFrame(data=data_dict,index=['a','b','c'])# 列表+元组的方式存进 DataFream
data_list = [ ('2024-12-19', 8, 65), ('2024-12-20', 5, 70),('2024-12-21', 7, 60)]
df2 = pd.DataFrame(data = data_list,columns=['日期', '温度', '湿度'],index=['a','b','c'])
df2
# 把Numpy的ndarray对象存进DataFrame
pd.DataFrame(np.arange(9).reshape(3,3))

这里生成一个学生成绩列表

# 需求: 生成10个学生的5门功课的数据.
# 并将列名改为: ['语文', '数学', '英语', '物理', '化学'], 
# 索引列改为:   ['同学0', '同学1', '同学2', '同学3', '同学4', '同学5', '同学6', '同学7', '同学8', '同学9']
# 生成数据
score_data = np.random.randint(40,101,size=(10,5))
score_data
# 转成DataFrame对象
score_df = pd.DataFrame(score_data)
# 定义列表 记录别名
col_names= ['语文', '数学', '英语', '物理', '化学']
# 定义列表 记录索引列
index_names = ['同学'+str(i) for i in range(10)]
# 修改DataFrane对象的列名和索引列
score_df.columns = col_names
score_df.index = index_names
score_df# 也可以直接生成
score_df2 =- pd.DataFrame(data = score_data,columns=col_names,index=index_names)
score_df2

运行结果
在这里插入图片描述

这里用一个小例子展示一下数据分析处理和数据可视化
前提是有一份存有部分国家年GDP的csv文件,读取文件数据 分析展示

import pandas as pd
import numpy as np
import os
os.chdir(r'F:\itheima\02_数据处理和统计分析\06_Numpy和Pandas入门\3.数据')
# 解决中文显示问题,下面的代码只需运行一次即可
import matplotlib as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
df = pd.read_csv('./1960-2019全球GDP数据.csv',encoding='gbk')
df.head()
# 绘制中国近年的GDP变化曲线
china_df = df[df.country == '中国']
china_df.head()
china_df.set_index('year',inplace=True)
# china_df.plot()
china_df.GDP.plot()
# 绘制中美日三国曲线
china = df[df.country== '中国'].set_index('year')
us = df[df.country== '美国'].set_index('year')
jb = df[df.country== '日本'].set_index('year')china.rename(columns={'GDP':'中国'},inplace=True)
us.rename(columns={'GDP':'美国'},inplace=True)
jb.rename(columns={'GDP':'小八嘎'},inplace=True)
print(jb)
china.中国.plot(color='red',legend=True)
us.美国.plot(color='blue',legend=True)
jb.小八嘎.plot(color='gray',legend=True)

下面是最终展示结果:
在这里插入图片描述
坚持分享 共同进步 如有错误 欢迎指出

相关文章:

Python知识分享第三十一天-Numpy和Pnadas入门

NumPy Numpy介绍 Numpy是Python中科学计算的基础包,它是一个Python库提供多维数组对象 各种派生对象(如掩码数组和矩阵),以及用于对数组进行快速的各种例程,包括数学 ,逻辑, 形状操作,排序,选择,I/O,离散傅里叶变换,基本线性代数,基本统计运算,随机模拟等等(Numpy的核心是nda…...

mlr3超参数Hyperparameter 自动寻找auto

底层还是根据你本来在R跑单独那一个机器学习的函数&#xff0c;例如randomForest::randomForest()&#xff0c;里面可以填入什么&#xff0c;然后跟你的实际数据取值范围去设个范围。然后用auto_tuner()函数对学习器的超参数自动调参 随机森林randomforest learner_rf <- …...

双臂机器人

目录 一、双臂机器人简介 二、双臂机器人系统的组成 三、双臂机器人面临的主要挑战 3.1 协调与协同控制问题 3.2 力控制与柔顺性问题 3.3 路径规划与轨迹优化问题 3.4 感知与环境交互 3.5 人机协作问题 3.6 能源与效率问题 3.7 稳定性与可靠性问题 四、双臂机器人…...

MATLAB中cvx工具箱的使用

CVX 是 MATLAB 中一个用于解决凸优化问题的建模工具箱。它使得定义、求解和分析凸优化问题变得简单。CVX 允许用户用类似数学表达的方式编写凸优化问题&#xff0c;而不需要过多关注底层的优化算法。CVX 的核心功能是将一个简单的数学问题转化为 MATLAB 可以理解并求解的标准形…...

EGO Swarm翻译

目录 摘要 Ⅰ 介绍 Ⅱ 相关工作 A . 单四旋翼局部规划 B . 拓扑规划 C. 分布式无人机集群 Ⅲ 基于梯度的局部规划隐式拓扑轨迹生成 A.无需ESDF梯度的局部路径规划 B.隐式拓扑轨迹生成 Ⅳ 无人机集群导航 A 机间避碰 B. 定位漂移补偿 C. 从深度图像中去除agent Ⅴ …...

Webpack简单介绍及安装

一、介绍 Webpack 是一个现代 JavaScript 应用程序的静态模块打包器&#xff08;module bundler&#xff09;。它将应用程序中的所有依赖项&#xff08;JavaScript、图片、CSS 等&#xff09;打包成一个或多个 bundle。这样做的主要目的是减少加载时间和提高应用程序的加载性能…...

如何在Anaconda的虚拟环境中下载Python包

一、首先查看conda下的虚拟环境 使用conda info -e查看当前conda下的虚拟环境&#xff1a; conda info -e 二、激活要添加Python包的虚拟环境 其中base是基础环境&#xff0c;这里我们选择conda_env这个虚拟环境 conda activate conda_env 三、使用conda命令安装需要的Pyth…...

React 事件机制和原生 DOM 事件流有什么区别

发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【宝藏入口】。 React 的事件机制与原生 DOM 事件流在设计和实现上有一些显著的区别。了解这些区别有助于我们更好地理解 React 是如何管理事件的…...

React 底部加载组件(基于antd)

底部加载组件的意义在于提供一种流畅的用户体验&#xff0c;以便在用户滚动到页面底部时自动加载更多内容。这样可以让用户无需离开当前页面&#xff0c;就能够无缝地浏览更多的内容.通过底部加载组件&#xff0c;可以分批加载页面内容&#xff0c;减少一次性加载大量数据对页面…...

Redis应用—7.大Value处理方案

1.⽅案设计 步骤一&#xff1a;首先需要配置一个crontab定时调度shell脚本&#xff0c;然后该脚本每天凌晨会通过rdbtools⼯具解析Redis的RDB⽂件&#xff0c;接着对解析出的内容进行过滤&#xff0c;把RDB⽂件中的⼤key导出到CSV⽂件。 步骤二&#xff1a;使⽤SQL导⼊CSV⽂件到…...

洛谷P2742 圈奶牛 (凸包 Andrew算法)

[USACO5.1] 圈奶牛Fencing the Cows /【模板】二维凸包 题目背景 upd: 新增一组 hack 数据。 题目描述 农夫约翰想要建造一个围栏用来围住他的奶牛&#xff0c;可是他资金匮乏。他建造的围栏必须包括他的奶牛喜欢吃草的所有地点。对于给出的这些地点的坐标&#xff0c;计算…...

Spring(一)---IOC(控制权反转)

目录 引入 1.什么叫IOC(Inversion of Control)控制权反转&#xff1f; 2.什么叫AOP(Aspect-Oriented Programming)面向切面编程(涉及Java代理)&#xff1f; 3.简单谈一下Java怎么实现ICO? Spring框架的介绍 1. Spring框架的概述 2. Spring框架的优点 Spring IOC容器介绍…...

MySQL数据库——门诊管理系统数据库数据表

门诊系统数据库his 使用图形化工具或SQL语句在简明门诊管理系统数据库his中创建数据表&#xff0c;数据表结构见表2-3-9&#xff5e;表2-3-15所示。 表2-3-9 department&#xff08;科室信息表&#xff09; 字段名称 数据类型 长度 是否为空 说明 dep_ID int 否 科室…...

linux环境使用yum方式安装nginx

linux环境使用yum方式安装nginx 一、nginx官网 二、nginx安装 点击首页的 Docs 或者 install 都可以&#xff0c;最终都是进入到Installing nginx页面 因为安装的服务器环境是linux centos 所以选择 Installation on Linux下面 packages 跳转链接 点击packages后 最终会跳转…...

2024高级前端面试题大全

&#x1f3a8; 1、v-bind指令绑定所有属性 <comp :title"title" :color"color" /><comp v-bind"props" />&#x1f3a8; 父组件监听字组件渲染周期&#xff1a;hook:updated文章地址&#x1f3a8; Vue3 defineAsyncComponent动态导…...

[机器学习]XGBoost(3)——确定树的结构

XGBoost的目标函数详见[机器学习]XGBoost&#xff08;2&#xff09;——目标函数&#xff08;公式详解&#xff09; 确定树的结构 之前在关于目标函数的计算中&#xff0c;均假设树的结构是确定的&#xff0c;但实际上&#xff0c;当划分条件不同时&#xff0c;叶子节点包含的…...

Hutool工具包的常用工具类的使用介绍

前言 Hutool 是一个轻量级的 Java 工具类库&#xff0c;提供了非常丰富的工具方法&#xff0c;可以大大减少开发时的重复性工作。它的目标是让 Java 开发更简单、更高效。Hutool 提供了多种常用功能&#xff0c;以下是一些常用工具类的使用介绍&#xff1a; 1. StrUtil - 字符…...

ETCD备份还原

环境准备&#xff1a; master 192.168.8.128 node1 192.168.8.129 k8s版本&#xff1a; 一&#xff1a;安装etcdctl工具 1.1下载安装包&#xff1a; wget https://github.com/etcd-io/etcd/releases/download/v3.4.13/etcd-v3.4.13-linux-amd64.tar.gz 1.2解压&…...

服务器防火墙设置某个端口号只允许固定 ip地址访问

服务器防火墙设置某个端口号只允许固定 ip地址访问是运维常见的功能&#xff0c;今天我们分享一下&#xff1a; 一、Linux环境 1、firewall 方式 1&#xff09;允许特定 IP 地址访问 23 端口 sudo firewall-cmd --zonepublic --add-rich-rulerule family"ipv4" s…...

FPGA 基础了解

前言 前期一直在做关于FPGA方面的开发&#xff0c;从开始认真玩FPGA到参考原子、野火、黑金、米联客的教学资料再到参与做项目中&#xff0c;中途也参加了两个比赛整也都获得不错的成绩&#xff0c;整个阶段持续了大概快一年半的时间&#xff0c;学习了乱七八糟的知识&#xf…...

Golang学习历程【第二篇 fmt包变量、常量的定义】

Golang学习历程【第二篇 fmt包&变量、常量的定义】 1. fmt 包1.1 打印&#xff08;print&#xff09;1.1.1 Print 打印1.1.2 Println 打印后换行1.1.3 Printf 打印格式化参数 1.2 输入(Scan)1.2.1 Scan 输入1.2.2 Scanf 格式化输入 2. 变量2.1 变量的声明2.2 变量初始化&am…...

深入QML语法

文章目录 深入了解 QML 文档的结构和语法什么是 QML 文档&#xff1f;导入语句导入语句的格式示例 对象声明基本语法示例更复杂的对象声明 QML 对象类型详解1. Rectangle&#xff08;矩形&#xff09;2. Gradient&#xff08;渐变&#xff09;3. Text&#xff08;文本&#xff…...

Viggle Api上线V3-beta模型,圣诞节跳舞视频来临

历史文章 Suno AI API接入 - 将AI音乐接入到自己的产品中&#xff0c;支持120并发任务 万物皆能舞&#xff0c;AI让你秒变“舞”林高手 – Viggle AI“舞”所不能 Viggle AI&#xff1a;打造爆款 AI 视频&#xff0c;让照片 “踢” 起足球 又一款AI对口型神器&#xff0c;让…...

前端excel的实现方案Luckysheet

一、介绍 Luckysheet是一款纯前端类似excel的在线表格&#xff0c;功能强大、配置简单、完全开源的插件。目前已暂停维护&#xff0c;但是其已有功能大概能满足常见需求的使用。 二、引入 ①cdn引入&#xff08;目前应该已经不支持&#xff0c;可自行尝试&#xff09; <l…...

数据字典类型/条目表的设计目的

1.以前的设计思路 对于下拉框选项储存的思路 我们以前是直接针对每一个下拉框都关联一个表格于数据库中 这种行为很不妥当 如果对于不同业务情景下的相同下拉框来说 多个相同下拉框就会在数据库中产生多个表格 当某个下拉框的选项需要更新或者新增时 那么对应的需要同步更新相…...

abc 383 C (bfs 最短路 )D(唯一分解定理,欧拉筛)

C 题&#xff1a; 首先暴力的想&#xff0c;对于每一个加湿器的位置去 上下左右扩展是 nm 的复杂度 。最多会有 nm 个加湿器。所以复杂度到达了n^3 。肯定超时了。 我们可以发现 对于一个点 会标记很多次&#xff0c;这回导致超时。 可以采用类似 bfs 求最短路的形式&#xff…...

常用消息中间件介绍

在消息中间件这个领域&#xff0c;确实有不少专业且强大的选择&#xff0c;它们各自都有着独特的优势和适用场景。 1. Apache Kafka&#xff1a; • Kafka以其高吞吐量、低延迟和分布式架构著称&#xff0c;非常适合处理大数据量、实时性要求高的场景。 • 它支持发布/订阅模式…...

vue基础

1.v-text,v-html <!-- v-text,v-html都可以显示内容 ,v-html可以解析html标签--> <p>{{msg}}</p> <p v-text"msg"></p> <p v-html"msg"></p> <script> let appnew Vue({ el:"#max", data:{ ms…...

从Windows远程访问Linux上的数据库

从Windows远程访问Linux上的数据库 目录 简介在Linux上安装MySQL/MariaDB配置MySQL/MariaDB以允许远程连接 修改MySQL/MariaDB配置文件重启MySQL/MariaDB服务确保防火墙允许MySQL/MariaDB端口 创建远程访问用户授予用户权限测试远程连接 检查网络连通性使用图形化工具连接 创…...

Android HandlerThread、Looper、MessageQueue 源码分析

Android HandlerThread、Looper、MessageQueue 源码分析 简介 在 Android 开发中&#xff0c;大家应该对 HandlerThread 有一定了解。顾名思义&#xff0c;HandlerThread 是 Thread 的一个子类。与普通的 Thread 不同&#xff0c;Thread 通常一次只能执行一个后台任务&#x…...

ASP.NET |日常开发中定时任务详解

ASP.NET &#xff5c;日常开发中定时任务详解 前言一、定时任务的概念与用途1.1 定义1.2 应用场景 二、在ASP.NET中实现定时任务的方式2.1 使用System.Timers.Timer2.2 使用Quartz.NET 三、定时任务的部署与管理3.1 部署考虑因素3.2 管理与监控 结束语优质源码分享 ASP.NET &am…...

Unity动态读取外部图片转Texture2D,内存过大问题解决方案

问题描述 加载原始图片2.63M的图片,分辨率为3023*4032,占用内存108.5M 加载原始图片12.6 M的图片,分辨率为6000*8000,占用内存427.2M 太恐怖了吧 解决方案 1.加载完图片,等比缩放,宽高改为1024或者512以下 1024占用5.2M,512占用1.3M,相比小了很多 2.原始Texture2…...

【Where语法全解密】.NET开源ORM框架 SqlSugar 系列

文章目录 前言一、普通表达式查询 Where二、根据SQL查询 where三、动态查询四、动态拼表达式查询 &#xff0c;拼拉姆达五、条件拼接查询六、链式条件查询七、根据Class查询&#xff0c;根据实查询八、根据Class中主键查询九、根据字典查询十、查询函数十一、Where中有子查询十…...

人工智能练习题--大题题库速通指南

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;越来越多的企业和个人开始重视AI的应用和发展。在这个背景下&#xff0c;人工智能训练师这一职业应运而生&#xff0c;他们专注于数据标注、模型训练、算法优化等方面的工作&#xff0c;以确保AI系统能够准确…...

写给Pythoner的前端进阶指南(四):异步编程 - 原生支持的 async/await

在开发中&#xff0c;异步编程是处理并发任务的重要方式。无论是请求数据、读取文件还是执行网络操作&#xff0c;异步编程能够有效提升程序的性能和响应速度。Python 和 JavaScript 都支持异步编程&#xff0c;但它们的实现方式有所不同。在这篇文章中&#xff0c;我们将深入探…...

项目搭建+姓名唯一性校验

一 : 添加时对姓名进行唯一性校验 ① : 给姓名绑定一个改变事件 ② : 取值 ③ : 组装对象 ④ : ajax (Controller定义对姓名唯一性校验的方法) 在成功回调函数里 判断姓名是否添加过(0>已添加 1>未添加) 未添加过,添加成功后,(清空) /*** 对姓名进行唯一性校验*/$("…...

MacOS下PostIn安装配置指南

PostIn是一款开源免费的接口管理工具&#xff0c; 下面介绍私有部署版本的MacOS下安装与配置。私有部署版本更适合有严格数据安全要求的企业&#xff0c;实现对数据和系统的完全控制。 &#xfeff; &#xfeff; 1、MacOS服务端安装 Mac安装包下载地址&#xff1a;下载Mac安…...

时光回响,中原之声 ——漓岛⾳乐节x SONICE

音乐像呼吸一样在大地起伏&#xff0c;中原的回响透过时空&#xff0c;从遥远的内陆弥漫扩散至温暖的南方&#xff0c;年轻的呼唤似一阵快雨淋落在辽阔的海面&#xff0c;波澜游弋&#xff0c;终掀浪涛。来自中原的独立音乐厂牌SONICE将与澄迈漓岛音乐节联合呈现乘风舞台&#…...

获取apk信息(包名,版本等) aapt dump badging (apk文件路径)

1.找到sdk路径下aapt文件&#xff1a; Android\Sdk\build-tools\29.0.0 (29.0.0是构建版本&#xff0c;可以是其他版本如27.0.3) 2.window dos窗口cd 到这个路径下&#xff1a;Android\Sdk\build-tools\29.0.0 ,也可以配置到 环境变量 3.执行 aapt dump badging (apk文件路径…...

C++ 23版的最新特性

C 23 是 C 编程语言的最新标准版本&#xff0c;于 2023 年正式发布&#xff0c;带来了诸多新特性与改进&#xff0c;以下是一些主要内容&#xff1a; 1.语言特性 1.显式对象参数&#xff08;Deducing this&#xff09;&#xff1a;显式对象参数&#xff08;Deducing this&…...

【微信小程序开发 - 3】:项目组成介绍

文章目录 项目组成介绍项目的基本组成结构小程序页面的组成部分JSON配置文件的作用app.json文件project.config.json文件sitemap.json文件页面的 .json 配置文件新建小程序页面修改项目首页 XWML模板XWML 和 HTML 的区别 WXSS样式WXSS 和 CSS 的区别 .js文件 项目组成介绍 项目…...

分布式超低耦合,事件驱动架构(EDA)深度解析

目录 引言什么是事件驱动架构&#xff08;EDA&#xff09;事件驱动架构的基本原理事件驱动架构的特点与优势事件驱动架构与分布式系统事件驱动架构的关键组件事件驱动架构的实施步骤常见的事件驱动架构模式事件驱动架构在分布式系统中的应用场景挑战与解决方案总结 引言 在当…...

深入理解 Linux wc 命令

文章目录 深入理解 Linux wc 命令1. 基本功能2. 常用选项3. 示例3.1 统计文件的行、单词和字符数3.2 仅统计行数3.3 统计多个文件的总和3.4 使用管道统计命令输出的行数 4. 实用案例4.1 日志分析4.2 快速统计代码行数4.3 统计单词频率 5. 注意事项6. 总结 深入理解 Linux wc 命…...

轻松拿捏Spring

目录 Spring基础 什么是Spring框架 Spring 包含的模块有哪些? Core Container AOP Data Access/Integration Spring Web Messaging Spring Test Spring,Spring MVC,Spring Boot 之间什么关系? Spring基础 什么是Spring框架 Spring 是一款开源的轻量级 Java 开发框…...

使用 `du` 命令可以查看根目录下每个子目录占用的磁盘空间大小

使用 du 命令可以查看根目录下每个子目录占用的磁盘空间大小。 查看根目录下子目录大小的命令 sudo du -sh /*解释&#xff1a; du&#xff1a;显示文件和目录的磁盘使用情况。-s&#xff1a;只显示每个目录的总大小&#xff08;不递归显示子目录&#xff09;。-h&#xff1…...

Python练习之列表的使用

&#xff08;搭配主页知识点&#xff09; 【练习要求】 针对知识点列表定义、追加、列表元素读取、查找安排的本实例。要求实现&#xff1a;有一个列表&#xff0c;内容是:[21,25,21,23,22,20]&#xff0c;记录的是一批学生的年龄请通过列表的功能(方法)&#xff0c;对其进行…...

深入理解 HTTP HEAD 请求:节省带宽、提高效率的秘密武器

序言&#xff1a; 在HTTP协议中&#xff0c;HEAD请求是一种非常实用且被忽略的请求方法。与GET请求相似&#xff0c;HEAD请求同样从服务器获取资源&#xff0c;但与GET请求的最大不同之处在与&#xff0c;HEAD请求 仅返回响应的头部信息&#xff0c;不包含内容提。这使得HEAD请…...

电商数据流通的未来:API接口的智能化与自动化趋势

在数字化时代&#xff0c;电子商务行业正在以前所未有的速度发展&#xff0c;而API&#xff08;应用程序编程接口&#xff09;接口作为电商领域的重要组成部分&#xff0c;其应用和发展趋势也日益受到关注。API接口作为电商系统与外部服务或平台交互的桥梁&#xff0c;对电商数…...

[python]使用flask-caching缓存数据

简介 Flask-Caching 是 Flask 的一个扩展&#xff0c;为任何 Flask 应用程序添加了对各种后端的缓存支持。它基于 cachelib 运行&#xff0c;并通过统一的 API 支持 werkzeug 的所有原始缓存后端。开发者还可以通过继承 flask_caching.backends.base.BaseCache 类来开发自己的…...

13.罗意文面试

1、工程化与架构设计&#xff08;考察项目管理和架构能力&#xff09; 1.1 你负责的可视化编排项目中&#xff0c;如何设计组件的数据结构来支持"拖拉拽"功能&#xff1f;如何处理组件间的联动关系&#xff1f; // 组件数据结构示例 {components: [{id: comp1,type…...