![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python数据科学
文章平均质量分 73
Python数据科学
mighty13
这个作者很懒,什么都没留下…
展开
-
Pandas API 文档索引中文翻译版(一)—— Series
说明:以Pandas官方API文档https://pandas.pydata.org/docs/reference/index.html为依据,根据使用频率对次序进行整理,并计划补充API详细解读。当前版本:1.3.4原创 2021-12-08 19:54:46 · 28354 阅读 · 2 评论 -
pandas案例:旅游数据处理
任务详情根据下方给出的全国旅游景点数据,完成以下任务:使用 Pandas 读取全国旅游景点数据文件,使用 id 列作为索引;去掉景点级别(level)字段(列)中数据的“景区”二字,字段中数据是 ‘\N’ 的情况不进行处理。如:‘4A景区’->‘4A’;添加新的字段(列)‘city’,表示景点所在的省、市或自治区。比如:‘北京’,‘上海’,'江苏’等;去掉所有的免费景点(price=0);计算景点的销售额(price * sales),如果同一省、直辖市或自治区内的多个景点销售额相同,保原创 2021-11-11 13:20:50 · 31254 阅读 · 0 评论 -
pandas案例:温差查询
任务详情给定一各地 2016 年 1 月和 2 月各个时间点的温度表格,表格预览见页面下方。数据表的第二列表示当前时间,数据表第一行第三列到第一行最后一列表示地点。如:表格的第二行第三列 30.36 表示:Vancouver (温哥华)在 2016-01-01 00:00:00 这一时刻的温度是 30.36 度(华氏度)。程序给定一个日期(date)和一个地点(place),要求返回该地在这个日期下的温差(摄氏度)。注意:华氏度需要转换成摄氏度!华氏度转摄氏度公式:摄氏度 = (华氏度 - 32原创 2021-11-11 12:35:56 · 30743 阅读 · 1 评论 -
pandas关于查看库或依赖库版本的API原理
概述pandas中与库版本或依赖库版本相关的API主要有以下4个:pandas.__version__:查看pandas简要版本信息。pandas.__git_version__:查看pandasgit版本信息。pandas._version.get_versions():查看pandas详细版本信息。pandas.show_versions():查看pandas及其依赖库的版本信息。上述API的运行效果如下:In [1]: import pandas as pdIn [2]: pd.原创 2021-08-28 23:28:59 · 31689 阅读 · 0 评论 -
Numpy简易教程8——简易分析
使用函数进行简单的统计分析1.排序NumPy的排序方式主要可以概括为直接排序和间接排序两种。直接排序指对数值直接进行排序。间接排序是指根据一个或多个键对数据集进行排序。在NumPy中,直接排序经常使用sort函数,间接排序经常使用argsort函数和lexsort函数。1.1 sort函数sort 函数是最常用的排序方法,无返回值。如果目标函数是一个视图,则原始数据将会被修改。使用sort函数排序时可以指定一个axis参数,使得sort函数可以沿着指定轴对数据集进行排序。案例:使用s原创 2021-08-15 19:51:12 · 31392 阅读 · 1 评论 -
Numpy简易教程7——读/写文件
读/写文件NumPy的文件读/写主要有二进制的文件读/写和文件列表形式的数据读/写两种形式。学会读/写文件是利用NumPy进行数据处理的基础。NumPy提供了若干函数,可以把结果保存到二进制或文本文件中。除此之外,NumPy还提供了许多从文件读取数据并将其转换为数组的方法。1. 二进制文件读/写1.1 save函数:将一个numpy数组保存为二进制文件save函数以二进制的格式保存数据。save函数的语法格式为:numpy.save(file, arr, allow_pickle=True, f原创 2021-08-14 23:47:03 · 34154 阅读 · 0 评论 -
Numpy简易教程6——ufunc函数
ufunc函数ufunc函数即通用函数(universal function),是一种能够对数组中的所有元素进行操作的函数。ufunc函数是针对数组进行操作的,并且都以NumPy数组作为输出,因此不需要对数组的每一个元素都进行操作。对一个数组进行重复运算时,使用ufunc函数比使用math库中的函数效率要高很多。1. 常用的ufunc函数运算常用的ufunc函数运算有四则运算、比较运算和逻辑运算等。1.1 四则运算ufunc函数支持全部的四则运算,并且保留习惯的运算符,和数值运算的使用方式一样(原原创 2021-08-13 20:10:19 · 33325 阅读 · 0 评论 -
Numpy简易教程5——创建NumPy矩阵
创建NumPy矩阵NumPy对于多维数组的运算,默认情况下并不进行矩阵运算。如果需要对数组进行矩阵运算,则可以调用相应的函数。在NumPy中,矩阵是ndarray的子类。在NumPy中,数组和矩阵有着重要的区别。NumPy提供了两个基本的对象:一个N维数组对象和一个通用函数对象。其他对象都是在它们之上构建的。矩阵是继承自NumPy数组对象的二维数组对象。与数学概念中的矩阵一样,NumPy中的矩阵也是二维的。1. 创建矩阵可以使用mat、matrix以及bmat函数来创建矩阵。使用mat函数创建矩原创 2021-08-12 21:32:48 · 48977 阅读 · 0 评论 -
Numpy简易教程4——变换数组的形态
变换数组的形态1. 改变数组的形状在对数组进行操作时,经常要改变数组的维度。在NumPy中,常用reshape函数改变数组的“形状”,也就是改变数组的维度。其参数为一个正整数元组,分别指定数组在每个维度上的大小。reshape函数在改变原始数据的形状的同时不改变原始数据的值。如果指定的维度和数组的元素数目不吻合,则函数将抛出异常。案例:改变数组形状# 创建一维数组arr = np.arange(12) print('创建的一维数组为:',arr)# 设置数组的形状print('新的一原创 2021-08-11 21:11:46 · 34330 阅读 · 0 评论 -
Numpy简易教程3——数组索引
通过索引访问数组NumPy以提供高效率的数组著称,这主要归功于索引的易用性。这里主要介绍一维数组和多维数组的索引方式。1. 一维数组的索引一维数组的索引方法很简单,Python原生list的下标索引和切片索引同样适用于一维数组。案例:使用下标索引和切片索引访问一维数组# 构造一维数组arr = np.arange(10)print('数组为:',arr)# 用整数作为下标可以获取数组中的某个元素print('索引结果为:',arr[5]) # 用范围作为下标获取数组的一个切片,包括arr原创 2021-08-10 21:39:23 · 36705 阅读 · 1 评论 -
Numpy简易教程2——创建随机数数组
创建随机数数组NumPy提供了强大的生成随机数的功能。真正的随机数很难获得,实际中使用的都是伪随机数。大部分情况下,伪随机数就能满足需求。当然,某些特殊情况除外,如进行高精度的模拟实验。对于NumPy,与随机数相关的函数都在random模块中,其中包括了可以生成服从多种概率分布随机数的函数。1. random函数random函数是最常见的生成随机数的方法,用于在区间[0,1)中生成均匀分布的随机数或随机数数组。函数格式为random(size=None),size参数可选,即结果数组的形状元组,默原创 2021-08-09 23:08:06 · 74626 阅读 · 1 评论 -
Numpy简易教程1——创建数组对象
创建数组对象NumPy提供了两种基本的对象:ndarray(N-dimensional Array Object)和ufunc(Universal Function Object)。ndarray(下文统一称为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。1. 数组属性为了更好地理解和使用数组,了解数组的基本属性是十分有必要的。属性说明ndim返回 int。表示数组的维数shape返回 tuple。表示数组的尺寸,对于 n 行 m 列原创 2021-08-08 23:43:17 · 33615 阅读 · 0 评论 -
NumPy用户指南(3)——初学者基础知识(NumPy: the absolute basics for beginners)1
此系列文章参照NumPy官方用户指南1.2.1版本进行翻译、解读(直译说不清楚的可能会加入自己的一些理解)。《NumPy: the absolute basics for beginners》以问答的形式说明了NumPy比较基础、重要的一些概念和应用范式以便于初学者快速掌握NumPy的应用。NumPy简介:Welcome to NumPy!NumPy (Numerical Python) 是一个几乎应用于科学和工程各个领域的开源Python库,它是Python处理数值型数据的通用标准,也是Python原创 2021-08-06 21:07:50 · 30490 阅读 · 0 评论 -
NumPy用户指南(2)——安装NumPy
此系列文章参照NumPy官方用户指南1.2.1版本进行翻译、解读(直译说不清楚的可能会加入自己的一些理解)。安装NumPy安装NumPy的唯一必备条件就是已经安装了Python 。如果还没有安装Python,想用最简单的方式安装NumPy,我们推荐使用Anaconda 发行版,它包含了Python、 NumPy以及其他Python科学计算和数据科学常用的包。NumPy可以使用conda、 pip、 macOS 和 Linux的包管理器或者源码进行安装。具体命令可参考下方的Python 和 NumPy安原创 2021-07-07 21:39:09 · 31497 阅读 · 0 评论 -
NumPy用户指南(1)——NumPy简介
此系列文章参照NumPy官方用户指南1.2.1版本进行翻译、解读(直译说不清楚的可能会加入自己的一些理解)。NumPy简介NumPy概述NumPy是Python科学计算的基础包。它提供了多维数组对象及其各种派生对象(如掩码数组和矩阵),它还提供了用于数组快速操作的各种API,包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换(DFT)、基本线性代数,基本统计运算和随机模拟等。ndarray对象是NumPy包的核心。ndarray对象封装了相同数据类型的 n 维数组,出于性能方面的考虑,n原创 2021-07-06 23:40:34 · 30562 阅读 · 0 评论 -
Pandas:利用Styler对象设置Series、Dataframe在Jupyter Notebook中的输出样式(3)——格式化显示值、内置显示值格式化方法、表格外观、样式复用
当前pandas版本为:1.2.5。Styler对象内置样式概述pandas数据结构在Jupyter Notebook中的格式化依赖于pandas中的Styler对象。Dateframe.style属性返回值为Styler对象。Styler对象通过生成CSS样式进行格式化。Styler对象内置了一系列样式方法。highlight_null:高亮显示null值。highlight_min :高亮显示最小值。highlight_max:高亮显示最大值。background_gradient:依原创 2021-06-30 02:09:31 · 32204 阅读 · 1 评论 -
Pandas:利用Styler对象设置Series、Dataframe在Jupyter Notebook中的输出样式(2)——内置样式
当前pandas版本为:1.2.5。Styler对象内置样式概述pandas数据结构在Jupyter Notebook中的格式化依赖于pandas中的Styler对象。Dateframe.style属性返回值为Styler对象。Styler对象通过生成CSS样式进行格式化。Styler对象内置了一系列样式方法。highlight_null:高亮显示null值。highlight_min :高亮显示最小值。highlight_max:高亮显示最大值。background_gradient:依原创 2021-06-29 01:47:56 · 32121 阅读 · 1 评论 -
Pandas:利用Styler对象设置Series、Dataframe在Jupyter Notebook中的输出样式(1)——基础接口
当前pandas版本为:1.2.5。概述Jupyter Notebook能够风靡Python数据科学圈的重要原因之一就是可以便捷的显示pandas数据结构。pandas数据结构在Jupyter Notebook中的格式化依赖于pandas中的Styler对象。Dateframe.style属性返回值为Styler对象。Styler对象通过生成CSS样式进行格式化。Styler类定义在pandas/io/formats/style.py中,具体原理随后详述。接口格式化主要通过以下方法实现。S原创 2021-06-28 23:42:17 · 31469 阅读 · 2 评论 -
案例:pandas添加汇总行、汇总列
需求现有一批成绩,要求统计每名学生的总成绩并添加“总分”列,统计各科成绩的平均分和标准差并添加相应行。要点结合pandas.apply函数和轴方向对行列进行统计。实现import pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False#读取数据score = pd.read_csv('./s原创 2021-06-25 12:52:36 · 38217 阅读 · 3 评论 -
案例:利用pandas按区间统计各分数段成绩人数并可视化
需求现有一批成绩,要求统计各分数段人数并可视化。要点pandas.cut可以把一组数据分割成离散的区间,并用为数据打上标签。然后配合pandas.value_counts函数按值计数。注意!仅能应用于Series类型。实现1代码:import pandas as pdimport matplotlib.pyplot as plt# 分数score = [22,51,60,80,70,96,89,95,68,88,85,79,100]# 设置分段bins=[0,60,70,80,90原创 2021-06-24 01:07:56 · 45395 阅读 · 0 评论 -
案例:利用Pandas按年月、考试科目汇总学生成绩并展示为并列柱状图
需求现有一批学生成绩,需要分析不同月份各科考试成绩波动情况,根据数据可知,即按照考试月份及考试科目对成绩汇总求平均成绩。问题解决根据数据源结构可知,主要难点如下:源数据中的日期列格式为年/月/日,为便于汇总,需转换为年/月格式。需要按日期、考试科目对分数进行分组并求均值。需要将分析结果以柱状图的形式进行展示关键中间结果读取数据data = pd.read_excel("考试分数.xlsx")df = data[['日期','考试科目','分数']]转换日期df["日期"]原创 2021-06-02 01:06:28 · 32740 阅读 · 0 评论 -
Pandas 简明教程(二):读取文件、DataFrame常用属性/方法/条件过滤/聚合/分组
一、读取文件Pandas的主业是数据分析。因此,从外部文件读/写数据是Pandas的重要功能。Pandas提供了多种API函数用于支持多种类型数据(如CSV、Excel、SQL等)的读写,其中常用的函数如下表所示。文件类型读取函数写入函数xls/xlsxread_excelto_excelCSVread_csvto_csvSQLread_sqlto_sqlJSONread_jsonto_jsonHTMLread_htmlto_html原创 2021-04-16 21:12:14 · 36656 阅读 · 1 评论 -
Pandas简明教程(一):Series数据类型、DataFrame数据类型
一、Pandas概述1.1 简介Pandas是Python生态中非常重要的数据分析包,它是一个开源的库,采用BSD开源协议。Pandas是基于NumPy构建的数据分析包,但它含有比ndarray更为高级的数据结构和操作工具,如Series类型、DataFrame类型等。Pandas的便捷功能离不开高效的底层数据结构的支持。Pandas主要有三种数据结构:Series(类似于一维数组)DataFrame(类似于二维数组)Panel(类似于三维数组)。由于Panel并不常用,因此,新版本的Pa原创 2021-04-15 00:39:47 · 36021 阅读 · 0 评论 -
Numpy简明教程
NumPy基础提纲概述创建数组数组的运算数组的索引数组的变形操作numpy随机数模块一、NumPy概述1.1 NumPy简介智能算法经常用到数组和矩阵(向量)运算。虽然Python内置数据结构中的列表可以当作数组来使用,但是一个列表可以存储多种类型的元素,导致数值运算效率较低。虽然Python也提供了内置的array(数组)模块,但它仅仅支持一维数组,不支持多维数组,也没有各种运算函数,因此并不适合数值运算。为了弥补Python数值计算的不足,吉姆·弗贾宁(Jim Huguni原创 2021-04-04 10:54:44 · 30829 阅读 · 2 评论