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

Python酷库之旅-第三方库Pandas(056)

目录

一、用法精讲

211、pandas.Series.truncate方法

211-1、语法

211-2、参数

211-3、功能

211-4、返回值

211-5、说明

211-6、用法

211-6-1、数据准备

211-6-2、代码示例

211-6-3、结果输出

212、pandas.Series.where方法

212-1、语法

212-2、参数

212-3、功能

212-4、返回值

212-5、说明

212-6、用法

212-6-1、数据准备

212-6-2、代码示例

212-6-3、结果输出

213、pandas.Series.mask方法

213-1、语法

213-2、参数

213-3、功能

213-4、返回值

213-5、说明

213-6、用法

213-6-1、数据准备

213-6-2、代码示例

213-6-3、结果输出

214、pandas.Series.add_prefix方法

214-1、语法

214-2、参数

214-3、功能

214-4、返回值

214-5、说明

214-6、用法

214-6-1、数据准备

214-6-2、代码示例

214-6-3、结果输出

215、pandas.Series.add_suffix方法

215-1、语法

215-2、参数

215-3、功能

215-4、返回值

215-5、说明

215-6、用法

215-6-1、数据准备

215-6-2、代码示例

215-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

211、pandas.Series.truncate方法
211-1、语法
# 211、pandas.Series.truncate方法
pandas.Series.truncate(before=None, after=None, axis=None, copy=None)
Truncate a Series or DataFrame before and after some index value.This is a useful shorthand for boolean indexing based on index values above or below certain thresholds.Parameters:
beforedate, str, int
Truncate all rows before this index value.afterdate, str, int
Truncate all rows after this index value.axis{0 or ‘index’, 1 or ‘columns’}, optional
Axis to truncate. Truncates the index (rows) by default. For Series this parameter is unused and defaults to 0.copybool, default is True,
Return a copy of the truncated section.NoteThe copy keyword will change behavior in pandas 3.0. Copy-on-Write will be enabled by default, which means that all methods with a copy keyword will use a lazy copy mechanism to defer the copy and ignore the copy keyword. The copy keyword will be removed in a future version of pandas.You can already get the future behavior and improvements through enabling copy on write pd.options.mode.copy_on_write = TrueReturns:
type of caller
The truncated Series or DataFrame.
211-2、参数

211-2-1、before(可选,默认值为None)截取的起始位置,包含此索引值。如果未指定,则从Series的第一个索引开始。

211-2-2、after(可选,默认值为None)截取的结束位置,包含此索引值。如果未指定,则截取到Series的最后一个索引。

211-2-3、axis(可选,默认值为None)未使用,保留参数。

211-2-4、copy(可选,默认值为None)是否复制返回的数据。如果为False,则返回的Series是原始数据的视图,而不是副本。

211-3、功能

        用于截取Series对象的一部分数据,通常用于在时间序列数据或带有特定索引的数据集中选取特定范围的数据。

211-4、返回值

        返回一个pandas.Series对象,包含在before和after参数指定的范围内的元素。

211-5、说明

        无

211-6、用法
211-6-1、数据准备
211-6-2、代码示例
# 211、pandas.Series.truncate方法
# 211-1、截取指定范围的数据
import pandas as pd
s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])
result = s.truncate(before=3, after=6)
print(result, end='\n\n')# 211-2、截取从索引4到最后的数据
import pandas as pd
s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])
result = s.truncate(before=4)
print(result, end='\n\n')# 211-3、截取从开头到索引5的数据
import pandas as pd
s = pd.Series([10, 20, 30, 40, 50, 60, 70, 80], index=[1, 2, 3, 4, 5, 6, 7, 8])
result = s.truncate(after=5)
print(result)
211-6-3、结果输出
# 211、pandas.Series.truncate方法
# 211-1、截取指定范围的数据
# 3    30
# 4    40
# 5    50
# 6    60
# dtype: int64# 211-2、截取从索引4到最后的数据
# 4    40
# 5    50
# 6    60
# 7    70
# 8    80
# dtype: int64# 211-3、截取从开头到索引5的数据
# 1    10
# 2    20
# 3    30
# 4    40
# 5    50
# dtype: int64
212、pandas.Series.where方法
212-1、语法
# 212、pandas.Series.where方法
pandas.Series.where(cond, other=nan, *, inplace=False, axis=None, level=None)
Replace values where the condition is False.Parameters:
cond
bool Series/DataFrame, array-like, or callable
Where cond is True, keep the original value. Where False, replace with corresponding value from other. If cond is callable, it is computed on the Series/DataFrame and should return boolean Series/DataFrame or array. The callable must not change input Series/DataFrame (though pandas doesn’t check it).other
scalar, Series/DataFrame, or callable
Entries where cond is False are replaced with corresponding value from other. If other is callable, it is computed on the Series/DataFrame and should return scalar or Series/DataFrame. The callable must not change input Series/DataFrame (though pandas doesn’t check it). If not specified, entries will be filled with the corresponding NULL value (np.nan for numpy dtypes, pd.NA for extension dtypes).inplace
bool, default False
Whether to perform the operation in place on the data.axis
int, default None
Alignment axis if needed. For Series this parameter is unused and defaults to 0.level
int, default None
Alignment level if needed.Returns:
Same type as caller or None if
inplace=True.
212-2、参数

212-2-1、cond(必须)布尔型数组,条件表达式或Series,它用于指定要保留的元素。当条件为True时保留原值,为False时替换为other的值。

212-2-2、other(可选,默认值为nan)用来替换不满足条件的元素的值,默认情况下,这些元素会被替换为NaN。

212-2-3、inplace(可选,默认值为False)如果为True,则在原地修改Series对象,而不是返回修改后的副本。

212-2-4、axis(可选,默认值为None)未使用,保留参数。

212-2-5、level(可选,默认值为None)如果Series是多层索引的,可以指定操作的索引层次。

212-3、功能

        用于基于条件对Series数据进行筛选和替换,它根据给定的布尔条件保留或替换Series中的值。

212-4、返回值

        返回一个pandas.Series对象,其中原来的数据根据cond条件被筛选和替换。

212-5、说明

        无

212-6、用法
212-6-1、数据准备
212-6-2、代码示例
# 212、pandas.Series.where方法
# 212-1、基本用法
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
result = s.where(s > 2)
print(result, end='\n\n')# 212-2、指定替换值
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
result = s.where(s > 2, other=-1)
print(result, end='\n\n')# 212-3、使用布尔条件
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
result = s.where(s % 2 == 0, other='odd')
print(result, end='\n\n')# 212-4、原地修改
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
s.where(s > 2, other=-1, inplace=True)
print(s)
212-6-3、结果输出
# 212、pandas.Series.where方法
# 212-1、基本用法
# 0    NaN
# 1    NaN
# 2    3.0
# 3    4.0
# 4    5.0
# dtype: float64# 212-2、指定替换值
# 0   -1
# 1   -1
# 2    3
# 3    4
# 4    5
# dtype: int64# 212-3、使用布尔条件
# 0    odd
# 1      2
# 2    odd
# 3      4
# 4    odd
# dtype: object# 212-4、原地修改
# 0   -1
# 1   -1
# 2    3
# 3    4
# 4    5
# dtype: int64
213、pandas.Series.mask方法
213-1、语法
# 213、pandas.Series.mask方法
pandas.Series.mask(cond, other=_NoDefault.no_default, *, inplace=False, axis=None, level=None)
Replace values where the condition is True.Parameters:
cond
bool Series/DataFrame, array-like, or callable
Where cond is False, keep the original value. Where True, replace with corresponding value from other. If cond is callable, it is computed on the Series/DataFrame and should return boolean Series/DataFrame or array. The callable must not change input Series/DataFrame (though pandas doesn’t check it).other
scalar, Series/DataFrame, or callable
Entries where cond is True are replaced with corresponding value from other. If other is callable, it is computed on the Series/DataFrame and should return scalar or Series/DataFrame. The callable must not change input Series/DataFrame (though pandas doesn’t check it). If not specified, entries will be filled with the corresponding NULL value (np.nan for numpy dtypes, pd.NA for extension dtypes).inplace
bool, default False
Whether to perform the operation in place on the data.axis
int, default None
Alignment axis if needed. For Series this parameter is unused and defaults to 0.level
int, default None
Alignment level if needed.Returns:
Same type as caller or None if
inplace=True.
213-2、参数

213-2-1、cond(必须)布尔型数组,条件表达式或Series,它用于指定要替换的元素。当条件为True时替换为other的值,为False时保留原值。

213-2-2、other(可选)用来替换满足条件的元素的值,默认情况下,这些元素会被替换为NaN。

213-2-3、inplace(可选,默认值为False)如果为True,则在原地修改Series对象,而不是返回修改后的副本。

213-2-4、axis(可选,默认值为None)未使用,保留参数。

213-2-5、level(可选,默认值为None)如果Series是多层索引的,可以指定操作的索引层次。

213-3、功能

        用于替换Series数据中的元素。如果满足指定的条件(cond),则将这些元素替换为other的值;否则,保留原值。

213-4、返回值

        返回一个pandas.Series对象,其中原来的数据根据cond条件被筛选和替换。

213-5、说明

        无

213-6、用法
213-6-1、数据准备
213-6-2、代码示例
# 213、pandas.Series.mask方法
# 213-1、基本用法
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
result = s.mask(s > 2)
print(result, end='\n\n')# 213-2、指定替换值
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
result = s.mask(s > 2, other=-1)
print(result, end='\n\n')# 213-3、使用布尔条件
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
result = s.mask(s % 2 == 0, other='even')
print(result, end='\n\n')# 213-4、原地修改
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
s.mask(s > 2, other=-1, inplace=True)
print(s)
213-6-3、结果输出
# 213、pandas.Series.mask方法
# 213-1、基本用法
# 0    1.0
# 1    2.0
# 2    NaN
# 3    NaN
# 4    NaN
# dtype: float64# 213-2、指定替换值
# 0    1
# 1    2
# 2   -1
# 3   -1
# 4   -1
# dtype: int64# 213-3、使用布尔条件
# 0       1
# 1    even
# 2       3
# 3    even
# 4       5
# dtype: object# 213-4、原地修改
# 0    1
# 1    2
# 2   -1
# 3   -1
# 4   -1
# dtype: int64
214、pandas.Series.add_prefix方法
214-1、语法
# 214、pandas.Series.add_prefix方法
pandas.Series.add_prefix(prefix, axis=None)
Prefix labels with string prefix.For Series, the row labels are prefixed. For DataFrame, the column labels are prefixed.Parameters:
prefixstr
The string to add before each label.axis{0 or ‘index’, 1 or ‘columns’, None}, default None
Axis to add prefix onNew in version 2.0.0.Returns:
Series or DataFrame
New Series or DataFrame with updated labels.
214-2、参数

214-2-1、prefix(必须)字符串类型,表示要添加到索引标签前的前缀。

214-2-2、axis(可选,默认值为None)虽然存在这个参数,但在Series中没有实际意义,因为Series没有轴的概念。

214-3、功能

        通过为Series的索引标签添加一个指定的前缀,返回一个新的Series对象。

214-4、返回值

        返回一个pandas.Series对象,其索引标签被添加了指定的前缀。

214-5、说明

        无

214-6、用法
214-6-1、数据准备
214-6-2、代码示例
# 214、pandas.Series.add_prefix方法
import pandas as pd
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
result = s.add_prefix('item_')
print(result)
214-6-3、结果输出
# 214、pandas.Series.add_prefix方法
# item_a    1
# item_b    2
# item_c    3
# dtype: int64
215、pandas.Series.add_suffix方法
215-1、语法
# 215、pandas.Series.add_suffix方法
pandas.Series.add_suffix(suffix, axis=None)
Suffix labels with string suffix.For Series, the row labels are suffixed. For DataFrame, the column labels are suffixed.Parameters:
suffixstr
The string to add after each label.axis{0 or ‘index’, 1 or ‘columns’, None}, default None
Axis to add suffix onNew in version 2.0.0.Returns:
Series or DataFrame
New Series or DataFrame with updated labels.
215-2、参数

215-2-1、suffix(必须)字符串类型,表示要添加到索引标签后的后缀。

215-2-2、axis(可选,默认值为None)虽然存在这个参数,但在Series中没有实际意义,因为Series没有轴的概念。

215-3、功能

        用于为Series的索引标签添加一个后缀,和add_prefix类似,axis参数在Series中没有实际意义,因为Series是一维的。

215-4、返回值

        返回一个pandas.Series对象,其索引标签被添加了指定的后缀。

215-5、说明

        无

215-6、用法
215-6-1、数据准备
215-6-2、代码示例
# 215、pandas.Series.add_suffix方法
import pandas as pd
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
result = s.add_suffix('_item')
print(result)
215-6-3、结果输出
# 215、pandas.Series.add_suffix方法
# a_item    1
# b_item    2
# c_item    3
# dtype: int64

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

相关文章:

Python酷库之旅-第三方库Pandas(056)

目录 一、用法精讲 211、pandas.Series.truncate方法 211-1、语法 211-2、参数 211-3、功能 211-4、返回值 211-5、说明 211-6、用法 211-6-1、数据准备 211-6-2、代码示例 211-6-3、结果输出 212、pandas.Series.where方法 212-1、语法 212-2、参数 212-3、功能…...

ZBrush入门使用介绍——4、笔刷选项说明

大家好,我是阿赵。   这次来看看ZBrush的笔刷的选项用法。 一、选择笔刷 点击笔刷,可以打开笔刷选择面板。 在最上面的Quick Pick,有最近使用过的笔刷,可以快速的选择。下面有很多可以选择的笔刷。但由于笔刷太多,…...

Java每日一练,技术成长不间断

目录 题目1.下列关于继承的哪项叙述是正确的?2.Java的跨平台特性是指它的源代码可以在多个平台运行。()3.以下 _____ 不是 Object 类的方法4.以下代码:5.下面哪个流类不属于面向字符的流()总结 题目 选自牛…...

传知代码-上下位关系自动检测方法(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 概述 本文复现论文 Hearst patterns revisited: Automatic hypernym detection from large text corpora[1] 提出的文本中上位词检测方法。 在自然语言处理中,上下位关系(Is-a Relations…...

从零开始的MicroPython(二) GPIO及代码应用

上一篇:http://t.csdnimg.cn/mg2Qt 文章目录 ESP32(NodeMCU-32S)简介引脚注意事项 类与对象的概念MicroPython的GPIO使用文档解释machine.PinPin.irq 点灯 ESP32(NodeMCU-32S) 简介 NodeMCU-32S 是安信可基于 ESP32-32S 模组所设计的核心开发板。该开发板延续了 N…...

嵌入式day15

数组指针 能够指向整个数组 一维数组: &a,考察a的数据类型 int(*p)[10]:表示一个指向长度为10的一维整型数组的指针 二维数组: 指向函数的指针 函数的函数名,即为函数的入口地址&#x…...

【电池管理系统(BMS)-01】 | 电池管理系统简介,动力电池和储能电池区别

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...

C++ STL partial_sum 用法

一&#xff1a;功能 计算部分和&#xff0c;即遍历序列中每个元素&#xff0c;计算前 i 个元素的累加和&#xff0c;并将结果存在 i 的位置上。 二&#xff1a;用法 #include <iostream> #include <vector> #include <numeric>int main() {std::vector<…...

诚宜开张圣听不应妄自菲薄

拾人牙慧孜孜不倦 青山依旧在几度夕阳红朝闻道夕死可矣 青山依旧在几度夕阳红 安能以血补天我计不成乃天命也臣本布衣躬耕南阳大丈夫宁死不辱尔要试我宝剑是否锋利吗又待怎样休教天下人负我竖子不足与谋皇天不佑天下英雄唯使君与操尔青光殷殷其灿如炎备不量力欲申大义于天下我…...

Vue3 加载条(LoadingBar)

效果如下图&#xff1a;在线预览 APIs LoadingBar 参数说明类型默认值必传containerClass加载条容器的类名stringundefinedfalsecontainerStyle加载条容器的样式CSSProperties{}falseloadingBarSize加载条大小&#xff0c;单位 pxnumber2falsecolorLoading加载中颜色string‘…...

《CSS创意项目实战指南》:点亮网页,从实战中掌握CSS的无限创意

CSS创意项目实战指南 在数字时代&#xff0c;网页不仅是信息的载体&#xff0c;更是艺术与技术的融合体。通过CSS&#xff0c;你可以将平凡的网页转变为引人入胜的视觉盛宴&#xff0c;让用户体验跃升至全新高度。《CSS创意项目实战指南》正是这样一本引领你探索CSS无限可能的…...

[FBCTF2019]RCEService (PCRE回溯绕过和%a0换行绕过)

json格式输入ls出现index.php 这道题原本是给了源码的&#xff0c;BUUCTF没给 源码&#xff1a; <?phpputenv(PATH/home/rceservice/jail);if (isset($_REQUEST[cmd])) {$json $_REQUEST[cmd];if (!is_string($json)) {echo Hacking attempt detected<br/><br/…...

vue3后台管理系统 vue3+vite+pinia+element-plus+axios上

前言 项目安装与启动 使用vite作为项目脚手架 # pnpm pnpm create vite my-vue-app --template vue安装相应依赖 # sass pnpm i sass # vue-router pnpm i vue-router # element-plus pnpm i element-plus # element-plus/icon pnpm i element-plus/icons-vue安装element-…...

Mysql的事务隔离级别实现原理

一、事务隔离级别 mysql支持四种事务隔离级别&#xff1a; 读未提交&#xff1a;一个事务可以读取到另一个事务还未提交的数据&#xff1b;读已提交&#xff1a;一个事务可以读取到另一个事务已经提交的数据&#xff1b;可重复读&#xff1a;同一个事务中&#xff0c;无论读取…...

计算机体系结构:缓存一致性ESI

集中式缓存处理器结构&#xff08;SMP&#xff09; 不同核访问存储器时间相同。 分布式缓存处理器结构&#xff08;NUMA&#xff09; 共享存储器按模块分散在各处理器附近&#xff0c;处理器访问本地存储器和远程存储器的延迟不同&#xff0c;共享数据可进入处理器私有高速缓存…...

log4j2漏洞练习(未完成)

log4j2 是Apache的一个java日志框架&#xff0c;我们借助它进行日志相关操作管理&#xff0c;然而在2021年末log4j2爆出了远程代码执行漏洞&#xff0c;属于严重等级的漏洞。apache log4j通过定义每一条日志信息的级别能够更加细致地控制日志生成地过程&#xff0c;受影响的版本…...

常见网络攻击方法原理、应用场景和防御方法(一)

目录 1、SQL注入(SQL Injection)原理应用场景防御方法 2、跨站脚本攻击(XSS&#xff0c;Cross-Site Scripting)原理应用场景防御方法 3、跨站请求伪造(CSRF&#xff0c;Cross-Site Request Forgery)原理应用场景防御方法 4、文件上传漏洞原理应用场景防御方法 5、远程代码执行(…...

【leetcode十分钟】覆盖所有点的最少矩形数目(C++思路详解)

思路详解&#xff1a; 0. 题目情境并未限制矩形高度&#xff0c;故矩形数目的判断只和点的横坐标有关 1. 为了不重不漏地考虑到所有点&#xff0c;故笔者选择首先将二维数组中的点按横坐标的大小排序 //说明&#xff1a;本来笔者以为需要自定义sort排序&#xff0c;后来发现…...

【Vue3】默认插槽

【Vue3】默认插槽 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子。本文内…...

华清day4 24-7-31

1> 使用父子进程完成两个文件的拷贝 父进程拷贝前一半内容&#xff0c;子进程拷贝后一半内容 子进程结束后退出&#xff0c;父进程回收子进程的资源 /* 使用父子进程完成两个文件的拷贝父进程拷贝前一半内容&#xff0c;子进程拷贝后一半内容 子进程结束后退出&#xff…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...