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

网站设计常识今日国际军事新闻头条

网站设计常识,今日国际军事新闻头条,团购网站模板html,网站 后台模板先来5道题目唤醒自己吧,进入coding状态! 1 Python 中 math库的核心功能和常用函数 1. 数值计算函数 函数描述示例math.ceil(x)向上取整,返回不小于 x 的最小整数。math.ceil(5.1) → 6math.floor(x)向下取整,返回不大于 x 的最…

先来5道题目唤醒自己吧,进入coding状态!

1 Python 中 math库的核心功能和常用函数

1. 数值计算函数

函数描述示例
math.ceil(x)向上取整,返回不小于 x 的最小整数。math.ceil(5.1) → 6
math.floor(x)向下取整,返回不大于 x 的最大整数。math.floor(5.9) → 5
math.trunc(x)截断小数部分,仅保留整数部分。math.trunc(5.9) → 5
math.fabs(x)返回 x 的绝对值(浮点型)。math.fabs(-5) → 5.0
math.factorial(x)计算 x 的阶乘(x 必须为非负整数)。math.factorial(5) → 120
math.fmod(x, y)计算 x % y 的余数(浮点型),与 Python 的 % 运算符有所不同。math.fmod(5, 2) → 1.0
math.fsum(iterable)精确计算可迭代对象中所有元素的和,能减少浮点数误差。math.fsum([0.1, 0.2, 0.3]) → 0.6

2. 幂函数与对数函数

函数描述示例
math.pow(x, y)计算 x 的 y 次幂(返回浮点型)。math.pow(2, 3) → 8.0
math.sqrt(x)计算 x 的平方根(x 需为非负数)。math.sqrt(16) → 4.0
math.exp(x)计算自然常数 e 的 x 次幂。math.exp(1) → 2.71828...
math.log(x[, base])计算对数,默认以 e 为底;若指定 base,则计算以 base 为底的对数。math.log(100, 10) → 2.0
math.log10(x)计算以 10 为底的对数。math.log10(100) → 2.0
math.log2(x)计算以 2 为底的对数。math.log2(8) → 3.0

3. 三角函数与反三角函数

这些函数的参数均为弧度值。若要将角度转换为弧度,可使用 math.radians(degrees);若要将弧度转换为角度,则使用 math.degrees(radians)

函数描述示例
math.sin(x)计算正弦值。math.sin(math.pi/2) → 1.0
math.cos(x)计算余弦值。math.cos(math.pi) → -1.0
math.tan(x)计算正切值。math.tan(0) → 0.0
math.asin(x)计算反正弦值(返回值范围:[-π/2, π/2])。math.asin(1) → 1.57079...
math.acos(x)计算反余弦值(返回值范围:[0, π])。math.acos(0) → 1.57079...
math.atan(x)计算反正切值(返回值范围:[-π/2, π/2])。math.atan(1) → 0.78539...

4. 双曲函数

函数描述
math.sinh(x)计算双曲正弦值。
math.cosh(x)计算双曲余弦值。
math.tanh(x)计算双曲正切值。
math.asinh(x)计算反双曲正弦值。
math.acosh(x)计算反双曲余弦值(x 需大于等于 1)。
math.atanh(x)计算反双曲正切值(x 的绝对值需小于 1)。

5. 特殊常量

常量描述
math.pi圆周率 π。3.141592653589793
math.e自然常数 e。2.718281828459045
math.tau圆周常数 τ(等于 )。6.283185307179586
math.inf正无穷大(浮点型)。float('inf')
math.nan非数字值(NaN,浮点型)。float('nan')

6. 浮点数处理与特殊函数

函数描述示例
math.isnan(x)判断 x 是否为 NaN(非数字值)。math.isnan(float('nan')) → True
math.isinf(x)判断 x 是否为无穷大(正无穷或负无穷)。math.isinf(float('inf')) → True
math.isfinite(x)判断 x 是否为有限值(既不是无穷大,也不是 NaN)。math.isfinite(5.0) → True
math.gcd(a, b)计算 a 和 b 的最大公约数(要求 ab 为整数)。math.gcd(12, 8) → 4
math.lcm(a, b)计算 a 和 b 的最小公倍数(要求 ab 为整数,Python 3.9+ 支持)。math.lcm(4, 6) → 12
math.hypot(*coordinates)计算多个坐标点到原点的欧几里得距离。对于二维坐标,等同于 sqrt(x² + y²)math.hypot(3, 4) → 5.0

7. 应用示例

下面是几个综合运用 math 库函数的例子:

python

运行

import math# 计算圆的面积
radius = 5
area = math.pi * radius ** 2
print(f"半径为 {radius} 的圆面积:{area}")  # 输出 78.53981633974483# 角度与弧度的转换
degrees = 90
radians = math.radians(degrees)
print(f"{degrees} 度转换为弧度:{radians}")  # 输出 1.5707963267948966
print(f"sin({degrees}°) = {math.sin(radians)}")  # 输出 1.0# 复数的模(等同于 math.hypot)
x, y = 3, 4
magnitude = math.sqrt(x**2 + y**2)
print(f"复数 {x}+{y}i 的模:{magnitude}")  # 输出 5.0

注意事项

  • 精度问题:由于浮点数在计算机中的表示方式,某些运算可能会出现精度误差,比如 math.sqrt(2) * math.sqrt(2) 可能不等于 2.0
  • 定义域限制:部分函数对输入值有要求,例如 math.sqrt(x) 中的 x 必须是非负数,math.log(x) 中的 x 必须是正数。
  • 性能考量:若需进行高效的数值计算,可考虑使用 numpy 库,它在处理数组运算时性能更优。
题目
import math 
print(math.floor(5.5))
#这个什么东西一点看不懂

这段代码使用了 Python 的内置数学库 math,并调用了它的 floor 函数。下面是对代码的详细解释:

  1. import math:这行代码导入了 Python 的标准数学库,它提供了许多数学相关的函数和常量。

  2. math.floor(5.5):这里调用了 math 库中的 floor 函数。floor 的作用是向下取整,即返回不大于给定数值的最大整数。对于 5.5 来说,不大于它的最大整数是 5,所以 math.floor(5.5) 的结果是 5

  3. print(...):这是 Python 的打印函数,用于将括号内的内容输出到控制台。

总结:整段代码的作用是打印出 5.5 向下取整后的结果,也就是 5

2 Pasty库

Patsy 是 Python 中一个用于描述统计模型和构建设计矩阵的库,特别适合与统计分析库(如 statsmodels)结合使用。下面我将介绍如何使用 Patsy 进行数据的标准化和中心化处理,并解释相关知识点。

1. 什么是标准化和中心化?

  • 中心化(Centering):将变量的均值调整为 0,即每个数据点减去该变量的均值。
    公式:x' = x - mean(x)

  • 标准化(Standardization):将变量转换为均值为 0、标准差为 1 的分布,也称为 Z-score 标准化。
    公式:x' = (x - mean(x)) / std(x)

  • 作用:消除变量量纲的影响,提高模型稳定性,便于比较不同变量的效应。

2. Patsy 中的数据转换

Patsy 使用公式字符串(如 "y ~ x1 + x2")来描述统计模型,并通过 dmatrix() 函数生成设计矩阵。在公式中,可以使用以下函数进行标准化和中心化:

(1) 中心化
  • 使用 center() 函数:center(x)
    或者直接减去均值:x - mean(x)
(2) 标准化
  • 使用 standardize() 函数:standardize(x)
    等价于:(x - mean(x)) / std(x)
(3) 自定义标准化
  • 使用 I() 包裹自定义表达式:I((x - mean(x)) / std(x))

3. 示例代码

下面是使用 Patsy 进行标准化和中心化的示例:

python

运行

import numpy as np
import pandas as pd
from patsy import dmatrix# 创建示例数据
data = pd.DataFrame({'x1': np.random.randn(100),  # 连续变量'x2': np.random.randint(1, 5, 100),  # 分类变量'y': np.random.randn(100) * 2 + 3  # 因变量
})# 1. 原始数据
print("原始数据前5行:")
print(data.head())# 2. 中心化处理
# 公式中的 C(x2) 表示将 x2 视为分类变量
centered_data = dmatrix("y ~ center(x1) + C(x2)", data, return_type='dataframe')
print("\n中心化后的数据前5行:")
print(centered_data.head())# 3. 标准化处理
standardized_data = dmatrix("y ~ standardize(x1) + C(x2)", data, return_type='dataframe')
print("\n标准化后的数据前5行:")
print(standardized_data.head())# 4. 验证标准化结果
x1_std = standardized_data['standardize(x1)']
print(f"\nx1 标准化后的均值:{x1_std.mean():.4f}")  # 接近 0
print(f"x1 标准化后的标准差:{x1_std.std():.4f}")  # 接近 1

4. 关键知识点

(1) 公式语法
  • ~:分隔因变量和自变量(如 y ~ x1 + x2)。
  • +:添加变量(注意与数学加法的区别)。
  • C():将变量转换为分类变量(如 C(x2))。
  • center() 和 standardize():内置的中心化和标准化函数。
  • I():包裹数学表达式(如 I(x1**2) 表示 x1 的平方)。
(2) 分类变量处理
  • Patsy 默认将分类变量转换为哑变量(dummy variables),并自动选择参考水平(通常是第一个类别)。
  • 示例中 C(x2) 会生成多个列(如 C(x2)[T.2]C(x2)[T.3] 等),表示相对于参考水平的差异。
(3) 与 statsmodels 结合

Patsy 的设计矩阵可直接用于 statsmodels 的模型拟合:

python

运行

import statsmodels.api as sm# 使用标准化后的数据拟合线性回归模型
model = sm.OLS(standardized_data['y'], standardized_data.drop('y', axis=1))
results = model.fit()
print(results.summary())

5. 注意事项

  1. 训练集与测试集
    标准化参数(如均值、标准差)应仅基于训练数据计算,然后应用到测试数据上,避免数据泄露。

  2. 缺失值处理
    Patsy 默认会删除包含缺失值的行,可通过 NA_action 参数自定义处理方式。

  3. 其他标准化方法

    • Min-Max 标准化:I((x - min(x)) / (max(x) - min(x)))
    • 对数变换:I(np.log(x))

6. 扩展阅读

  • Patsy 官方文档
  • statsmodels 线性回归示例

3 比较运算符优先级大于逻辑运算符

题目

输出结果是(   )

a = 'a'
print(a > 'b' or 'c')

答案:'c'
 

解析:

  1. 优先级规则:比较运算符(如 ><)的优先级确实高于逻辑运算符(如 orand)。因此,代码 a > 'b' or 'c' 会先计算 a > 'b'

  2. 字符串比较:变量 a 的值是 'a',而 'a' > 'b' 的结果为 False(因为字母 'a' 在字典序中小于 'b')。

  3. 逻辑 OR 运算:表达式变为 False or 'c'。在 Python 中,逻辑运算符 or 遵循短路规则:

    • 如果左侧为 True,直接返回左侧值,不计算右侧。
    • 如果左侧为 False,返回右侧值(无论右侧是什么)。
  4. 最终结果:由于 False or 'c' 的左侧为 False,所以直接返回右侧的 'c'

验证代码:

python

运行

a = 'a'
print(a > 'b' or 'c')  # 输出:'c'

易错点:

  • 不要混淆逻辑运算符的 “返回值” 和 “布尔结果”。or 并不总是返回 True 或 False,而是返回参与运算的某个值。
  • 优先级规则决定了表达式的计算顺序,但最终结果还受逻辑运算的短路特性影响。
http://www.dtcms.com/wzjs/357064.html

相关文章:

  • 烟台网站制作专业世界疫情最新数据
  • 苏州集团网站制作设计淘宝美工培训
  • 如何取一个大气的名字的做网站制作网站教学
  • 把网站内容全删掉 在重新建立会不会被k网络营销岗位有哪些
  • b2b2c多用户商城网站推广seo设置
  • java做网站6开发网站用什么软件
  • 号号网站开发如何进行网络营销
  • 好的手表网站seo顾问是什么
  • 电商网站 案例怎样制作网页设计
  • 做的好的地方网站棋牌软件制作开发多少钱
  • 西安医院网站建设营销型网站建设推荐
  • 永清建设局网站打开全网搜索
  • 网站规划与设计课程设计公司网站定制
  • 专业轻电商网站建设公司网站设计公司报价
  • 郴州高端网站建设昆明seo博客
  • 我为群众办实事项目清单情感网站seo
  • 最好的开发网站建设价格免费外网加速器
  • 南通网站建设找哪家好互动营销的概念
  • wordpress 大型网站seo的基础是什么
  • wordpress 默认登陆优化关键词排名
  • 网站怎么挂服务器企业营销策划实训报告
  • 浙江省网站建设公司排名关键字
  • seo关键词选择及优化深圳seo排名哪家好
  • 广州信科做网站b2b平台是什么意思
  • 外贸营销网站建设公司网络维护公司
  • 旅游网站策划书范文安卓优化大师下载安装
  • 做健身网站步骤三只松鼠网络营销策划书
  • 个人网站做导购可以吗南通百度seo代理
  • 做图片视频的网站建立网站一般要多少钱
  • 沧州做网站百度手机管家