自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 详解drop_duplicates()函数

python整表去重python按关键字段去重(最常用)pythondf.drop_duplicates(subset=["ID", "订单号"])保留最新数据pythondf.drop_duplicates(subset=["用户ID"], keep="last")找出所有完全唯一的数据pythonsubset定判断重复的列keep定保留哪条重复数据inplace定是否改原数据定是否重置索引。

2026-04-07 16:58:16 290

原创 isalpha () 和 isdigit () 详细讲解

isalpha():校验字符串全为字母 / 文字(含中文),空字符串 / 含数字 / 符号均返回 False;isdigit():校验字符串全为数字字符(0-9/Unicode 数字),空字符串 / 含小数点 / 负号 / 字母均返回 False;若需校验 “数值(小数 / 负数)”,不要用isdigit(),改用try-except转数值类型的方式。

2026-03-12 22:19:27 270

原创 详解线性回归方程

线性回归方程是利用最小二乘法拟合的直线方程,用于描述自变量 x 与因变量 y 之间的线性关系,形式为:y^​=b0​+b1​x其中 b1​ 是斜率,表示 x 每增加 1,y 平均变化 b1​;b0​ 是截距。模型通过最小化误差平方和求得,并用 R2 衡量拟合程度。手写推导最小二乘法多元线性回归公式Python 实现线性回归代码(numpy /pandas/sklearn)你想要哪个?请详细解释的同时添加python建模的方法我会把线性回归方程。

2026-03-10 12:46:35 735

原创 深入理解 Pandas 的 groupby() 函数

agg内置函数无法满足需求时,可传入自定义函数:python# 自定义函数:计算成绩的变异系数(标准差/均值)def cv(x):"""变异系数:衡量数据离散程度"""= 0 else 0# 按班级分组,计算数学和语文的变异系数df_cv = df.groupby("班级")[["数学", "语文"]].agg(cv)df_cv.columns = ["数学变异系数", "语文变异系数"]print("=== 自定义聚合函数(变异系数)===")

2026-03-08 20:24:12 918

原创 深入理解 Pandas 的 merge() 函数

merge()用于将两个 DataFrame 按指定列(连接键)进行合并,支持 SQL 风格的所有连接类型(内连接、左连接、右连接、外连接等),是处理关系型数据合并的首选方法。merge()是 Pandas 按列合并 DataFrame 的核心方法,完全对标 SQL 表连接,支持内 / 左 / 右 / 外 / 交叉连接;核心参数:onleft_onright_on:指定连接键(列名相同 / 不同场景);how:指定连接类型(默认 inner);suffixes:处理列名冲突;indicator。

2026-03-08 19:08:34 695

原创 深入理解 Pandas 的 join() 函数

join()用于将两个 DataFrame 按行索引(index)进行合并(左 / 右 / 内 / 外连接),如果需要按列合并,建议用merge();如果按索引合并,join()更简洁。join()是 Pandas 按行索引合并 DataFrame 的核心方法,语法简洁,支持多表连接;核心参数:how:指定连接类型(left/right/inner/outer,默认 left);lsuffixrsuffix:解决列名冲突;on:指定左表的列作为连接键(替代索引);

2026-03-07 21:53:54 701

原创 数据分析笔试题

在 Python 中,以下哪个库主要用于构建机器学习模型?以下哪种分析方法适用于识别销售转化过程中的关键流失环节?(D)A. 聚类分析 B. 漏斗分析 C. 时间序列分析 D. 归因分析假设检验中,P 值小于显著性水平 α(通常 0.05)时,我们应该?()A. 接受原假设 B. 拒绝原假设 C. 无法判断 D. 重新检验以下哪种 SQL 语句用于从数据表中筛选符合条件的记录?时间序列分析中,以下哪个不是常见的时间序列成分?(D)A. 趋势项 B. 季节项 C. 随机项 D. 聚类项。

2026-03-07 14:12:17 437

原创 深入理解 Python 中的 isinstance() 函数

python表格参数说明object待检测类型的任意 Python 对象(数字、字符串、列表、自定义类实例等)classinfo可以是:① 单个类 / 类型(如intlist/ 自定义类);② 多个类 / 类型组成的元组(如③ 抽象基类(如返回值True(对象是指定类型 / 子类的实例),False反之python# 多层继承示例passpasspass# 检测所有祖先类print(isinstance(gc, object)) # True(所有Python对象都是object的实例)

2026-03-06 19:48:10 623

原创 深入理解 split() 和 strip()函数

strip () 系列作用:删除字符串首尾的指定字符(默认空白符),中间字符不受影响;lstrip()(删开头)、rstrip()(删结尾);chars是字符集合,不是固定字符串,且不修改原字符串。split () 系列作用:按指定分隔符拆分字符串为列表,分隔符会被丢弃;sep=None按任意空白符拆分(多个空白视为一个);rsplit()从右往左拆分,适合指定maxsplit的场景;注意:不能按空字符串拆分,拆分含空白的字段需结合strip()。组合使用:拆分前先用strip()

2026-03-02 11:05:25 1050

原创 深入理解 pandas 的布尔索引(Boolean Indexing)

布尔索引是 pandas 筛选数据的核心,通过布尔序列保留True行 / 列,过滤False;单条件用df[条件],多条件用df[(条件1)&(条件2)](必须加括号,用推荐结合loc使用,既能筛选行又能选择列,还能避免修改数据的警告;isin()是筛选 “在列表中” 的高效方式,isna()notna()用于处理空值。

2026-03-01 20:19:16 846

原创 深入理解 Pandas DataFrame 中的排序方法

keyDataFrame 排序核心依赖两个函数:sort_values(by=列名):按列值排序(单列 / 多列),支持ascendingkey;:按行 / 列索引排序,适用于索引有业务含义的场景;核心参数:by:指定排序列(仅需传);ascending:排序方向(True = 升序,False = 降序);:排序后重置行索引(推荐开启);axis:按行 / 列索引排序(仅sort_index需传);进阶技巧:自定义规则用key参数(如绝对值、字符串处理);横向排序用;

2026-03-01 18:59:18 1021

原创 深入理解 Pandas 的 DataFrame(数据框)

DataFrame是 Pandas 专为二维结构化数据设计的核心结构,对比 Excel/NumPy 二维数组,核心特征如下:表格特性Excel 表格NumPy 二维数组索引行 / 列均支持自定义标签(字符串 / 数字 / 时间)仅单元格位置(A1/B2)仅整数位置索引数据类型列可不同类型(如一列 int、一列 str)支持混合类型仅支持同一种数据类型缺失值原生支持NaN,内置缺失值处理方法空单元格需手动识别需手动处理NaN功能内置清洗 / 统计 / 合并 / 透视等全套方法。

2026-02-28 20:39:34 1254

原创 系统掌握 Pandas 读取外部数据相关方法

Pandas 支持读取几乎所有常见的外部数据格式,核心是pd.read_*

2026-02-27 21:13:16 289

原创 深入理解 Pandas 的 Series(序列)

Series是 Pandas 专为一维数据设计的结构,对比 NumPy 一维数组,核心差异是:表格特性NumPy 一维数组索引支持自定义标签(字符串 / 数字 / 时间等)仅支持整数位置索引数据类型可混合类型(如同时存 int/str)仅支持同一种数据类型缺失值原生支持NaN,内置缺失值处理方法需手动处理NaN功能内置统计 / 对齐 / 可视化等方法仅基础数值计算直观理解:把Seriesvalues:数据本身(底层是 NumPy 数组);index。

2026-02-27 20:42:29 1319

原创 深入理解 NumPy 中的统计函数

NumPy 统计函数用于计算数组的描述性统计量,核心作用是量化数组的分布特征(集中趋势、离散程度、极值等)。按功能可分为 4 大类:表格类别核心统计量对应 NumPy 函数集中趋势均值、中位数、众数、分位数np.mean ()离散程度方差、标准差、绝对差、极差np.var()np.std()np.ptp()极值与位置最大值、最小值、最大 / 小值索引np.max()np.min()求和与累积求和、累积和、累积积np.sum()核心共性所有统计函数都支持axis参数(指定统计维度);支持。

2026-02-26 23:07:00 594

原创 深入理解 NumPy 数组的交换(Swapping)

数组交换本质是调整数组中元素或维度的位置元素级交换:交换数组中指定位置的单个 / 多个元素(如交换索引 0 和索引 5 的元素);维度级交换:交换数组的行 / 列、或调整维度的整体顺序(如交换二维数组的第 1 列和第 3 列、交换三维数组的维度 0 和维度 2)。NumPy 实现交换的核心优势是向量化操作,无需循环,直接通过索引 / 切片即可高效完成。NumPy 数组交换分为「元素级」和「维度级」两类:元素级:通过索引 / 切片赋值实现,切片交换需加.copy();

2026-02-25 20:18:51 783

原创 深入理解 NumPy 中数组的拼接(Concatenation)

数组拼接是指将多个形状兼容的数组,沿着指定的轴(axis)轴(axis):拼接的方向,二维数组中axis=0表示按行拼接(垂直方向),axis=1表示按列拼接(水平方向);形状兼容:除拼接轴外,其他维度的大小必须完全一致(比如按行拼接时,所有数组的列数必须相同);(通用拼接)、(垂直拼接)、(水平拼接)、(深度拼接)。NumPy 数组拼接的核心是是简化版(分别对应axis=0/1拼接规则:除拼接轴外,其他维度大小必须完全一致,否则报错;维度说明:一维数组:仅能按axis=0拼接(

2026-02-25 15:09:36 895

原创 深入理解 NumPy 的索引(Indexing)和切片(Slicing)

索引:通过 “位置编号” 访问数组中单个元素(如取第 3 个元素、第 2 行第 5 列元素);切片:通过 “范围指定” 提取数组中连续的子数组(如取前 10 个元素、第 2-5 行所有列);核心优势:NumPy 的索引 / 切片是向量化操作,比 Python 列表的索引 / 切片更快,且支持多维数组的灵活提取。索引 / 切片是 NumPy 访问数组的核心:索引取单个元素,切片取连续子数组;多维数组操作:按维度依次指定索引 / 切片,逗号分隔(行, 列, 维度...

2026-02-19 09:08:22 1134

原创 深入理解 NumPy 中数组的转置(Transpose)

转置是指调整数组维度的顺序对二维数组(矩阵):转置就是 “行变列、列变行”(最直观的场景);对高维数组(三维 / 四维):转置是按指定顺序重新排列维度(比如将(维度0, 维度1, 维度2)转为(维度2, 维度1, 维度0)NumPy 中实现转置的核心方式有 3 种(等价但适用场景不同):表格方式语法特点数组属性Tarr.T最简洁,适合二维数组快速转置方法灵活,可指定高维数组的维度顺序函数等价于,函数式写法数组转置核心是调整维度顺序:二维数组是 “行变列”,高维数组是按指定顺序重排维度;

2026-02-19 09:07:20 934

原创 深入理解 NumPy 的广播(Broadcasting)机制

广播是 NumPy 为不同形状数组间的算术运算设计的自动适配规则:当两个数组形状不同时,NumPy 会自动扩展(“广播”)较小数组的维度,使其形状与较大数组匹配,从而实现逐元素运算(无需复制数据,仅调整维度逻辑)。标量(0 维)可与任意维度数组广播,是最常见的场景:python# 数组A:2行3列(形状(2,3))# 标量B:形状()B = 10# 广播运算:B被扩展为(2,3)的数组[[10,10,10],[10,10,10]]C = A + B。

2026-02-18 21:02:41 872

原创 深入理解 NumPy 的 flatten() 函数

flatten()是 NumPy 数组(ndarray)的内置方法,作用是将任意维度(一维 / 二维 / 三维 / 高维)的数组 “展平” 为一维数组,并返回一个新的独立数组(不与原数组共享内存)。简单说:无论原数组是 2 行 3 列的二维数组,还是 2×3×4 的三维数组,flatten()都会把所有元素按指定顺序排成一行,且修改展平后的数组不会影响原数组。flatten()核心是将任意维度数组展平为一维,返回独立拷贝,修改后不影响原数组;关键参数order'C'(行优先,默认)、'F'

2026-02-18 20:46:46 1192

原创 深入了解NumPy 的 reshape 函数

reshape用于在不改变数组元素和元素顺序的前提下,修改数组的形状(维度 / 行列数)。简单说:就是把同一个 “数据集合”,重新排列成不同的行列结构(比如从 1 行 10 列的一维数组,变成 2 行 5 列的二维数组)。reshape核心是不改变元素,仅调整数组形状,要求「目标形状总数 = 原始数组总数」;-1是核心技巧:自动计算维度大小,常用于展平数组()或固定某一维度;关键特性:新数组与原数组共享内存,修改会相互影响,需独立则加.copy();

2026-02-13 19:20:15 1413

原创 详解Numpy.Random()函数

NumPy 1.17+ 推出了新的随机 API(Generator),替代旧的全局函数,优势是线程安全、功能更全、避免种子冲突。核心是生成伪随机数,通过种子实现可复现,向量化生成效率远超 Python 原生;高频函数(贴合你的场景):normal()(正态)、uniform()(均匀);rand()(0~1)、randint()(整数);推荐用法:用创建自定义生成器,避免全局种子冲突;避坑关键:区分不同分布函数,注意randint。

2026-02-12 11:15:07 894

原创 什么是numpy???

NumPy(Numerical Python)是 Python 科学计算的基础核心库,专门用于处理多维数组(矩阵)和数值计算,是 pandas、matplotlib、scikit-learn 等库的底层依赖。简单说:Python 原生的列表(list)适合通用数据存储,但处理大规模数值计算(如矩阵乘法、统计分析、随机数生成)时效率极低;NumPy 提供了同类型元素的多维数组(ndarray)和向量化运算,把原本需要循环的操作转为底层 C 语言实现,速度提升几十到几百倍。NumPy 核心是ndarray。

2026-02-11 16:50:30 1169

原创 深入理解 matplotlib 中的直方图(Histogram)(补充:组数的计算)

组数计算核心是适配数据特征:正态分布用斯特吉斯法则,有异常值用 FD 法则,非正态用斯科特法则;matplotlib 自动组数:调用 numpy 的多规则综合算法,优先贴合数据分布,无需手动计算;手动指定组数:按业务场景(如分数段)或数据量调整,验证标准是 “能清晰展示分布规律,无过多噪声”;关键关系:组数 数据范围组距(均匀分组),bin 边界数量 = 组数 + 1。

2026-02-11 13:05:10 843

原创 深入理解 matplotlib 中的直方图(Histogram)

python# 自定义bin区间(按分数段分组)# 绘制频率直方图ax.hist(x=data,density=True, # 显示频率alpha=0.8ax.set_title('考试分数频率分布直方图', fontsize=16)ax.set_xlabel('分数段', fontsize=14)ax.set_ylabel('频率', fontsize=14)# 添加频率数值标签(可选)plt.show()直方图核心是展示连续数据的分布,通过ax.hist()实现,关键参数是bins。

2026-02-10 16:25:01 1051

原创 详解np.clip()函数

如果需要给每个元素设置不同的上下限,可传入和原数组同形状的a_mina_maxpython运行# 原始数组# 每个元素的最小值(按位置)# 每个元素的最大值(按位置)# 按位置裁剪print("原始数组:", arr)print("裁剪后数组:", clipped_arr)输出plaintext原始数组: [ 1 6 11 16]裁剪后数组: [ 2 6 9 16]解释:第 1 个元素:1 < 2 → 替换为 2;第 2 个元素:6 在 5~7 之间 → 保持不变;

2026-02-10 15:54:40 1023

原创 详解np.random.normal()函数

生成 1000 个均值 100、标准差 15 的正态分布随机数,存储为 1 维 NumPy 数组;loc是均值(中心),scale是标准差(离散程度),size是数据数量 / 形状;生成的数据符合正态分布的 “68-95-99.7” 法则,是模拟真实数据、测试算法的高频用法;固定随机种子可复现结果,注意scale传的是标准差而非方差。

2026-02-09 22:47:20 676

原创 python数据类型详解

通过class示例:python运行p = Person('小明') # 自定义类型实例Python 核心基础类型包括:数值(int/float/complex)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)、集合(set);核心区分维度是 “可变 / 不可变”:不可变类型更安全,可变类型更灵活;快速判断类型用type(),类型转换用对应内置函数。

2026-02-08 14:32:01 658

原创 为什么print(i*2 for i in range(0,10))不能直接遍历

print()直接打印生成器对象,而非遍历其数值;修正思路:要么用list()/ 列表推导式将生成器转为可打印的列表,要么用for循环遍历生成器并逐个打印;关键区别:生成器是 “规则”,列表是 “结果”,print无法直接解析生成器的规则为数值。

2026-02-08 14:27:58 296

原创 论什么是时间序列

时间序列(Time Series)是按时间先后顺序排列的一组数据点数据与时间戳强绑定(比如每秒、每天、每月记录一次);数据的顺序不可打乱(时间维度的先后是分析的关键)。简单比喻:时间序列就像 “按时间轴记的流水账”—— 比如你每天记录的体重、公司每小时的销售额、股票每分钟的价格,这些按时间排好的数字,都是时间序列。时间序列的核心是按时间排序的有序数据,不可打乱顺序,且数据点之间有时间关联性;它的核心特征是趋势、季节性、周期性、随机波动,这是分析和预测的关键;主要用途是。

2026-02-07 17:32:55 328

原创 论python生成随机数的方法

日常小批量随机数(如抽奖、单个数生成):用random模块,核心记;批量 / 多维随机数组(数据分析 / 机器学习):用,核心记;加密 / 安全场景:必须用secrets模块,避免random的伪随机漏洞;固定种子可复现随机结果,是测试和实验的重要技巧。

2026-01-23 17:02:22 484

原创 Matplotlib的使用方法

核心逻辑:Matplotlib 绘图是「画布 (Figure)→子图 (Axes)→图形元素」的分层构建过程,推荐使用显式创建,更灵活;基础流程:导入模块→准备数据→创建画布 / 子图→绘图→配置美化→显示 / 保存;核心技巧折线图看趋势、柱状图比分类、散点图看相关、直方图看分布、饼图看占比;中文显示需配置和;子图用创建,调整间距。

2026-01-22 12:44:58 655

原创 学习java的第一周,获取日历的代码

快速获取时间的日期类

2022-09-28 10:51:11 348

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除