Python数据分析基础教程

2、原始数据,经过数据清洗和数据转换后,将原始数据转变为“干净”的数据。数据预处理包括数据清洗和数据转换。.数据可视化作用:通过视觉化呈现数据的方式,不仅能快速抓住要点信息,而且,还可以揭示通过简单统计不能观察到的模式和结论。.数据分析具有三大作用:第一:现状分析。第二:原因分析。第三:预测分析。数组进行重复操作,而repeat。函数是对数组中的每个元素进行重复操作。9.在NumPy中,可以通过unique()函数找出数组中去重后的元素并返回已排序的数组,从而实现去除数组中重复数据的目的。二.编程题.代码如下#-coding:UTF-8importnumpyasnpa=6

3、25,0,1,3,4,7,8,9b=2,卬,3,157,5.9arr_a=np.array(a)print,第1个数组:arr_a)print,第1个数组的去金(去重后的值)数组:,)arr_a_u=np.unique(arr_a)print(arr_a_u)arr_b=np.array(b)print,第2个数组:1arr_b)print,第2个数组的去金(去重后的值)数组:,)arr_b_u=np.unique(arr_b)print(arr_b_u)print,返回主重后的值的重复数量:,)arr_a_u,u_a_inverse=np

4、.unique(arr_a,return_counts=True)print(u_a_inverse)arr_b_u,u_b_inverse二np.unique(arr_b,return_counts=True)print(u_b_inverse).代码如下data_date.csv文件中数据date20-01-201902-02-201903-04-2018#-coding:utf-8-*-importnumpyasnpimportdatetimedate=np.loadtxt(!data_date.csvdtype=np.str,skiprow

5、s=l)listl=foriindate.tolist():y=int(i6:10)m=int(i3:5)d=int(i0:2)a=datetime.date(y,m,d)week=a.isoweekday()list1.append(week)print(listl)arr_week=np.array(listl)print(arr_week)3.代码如下#-coding:UTF-8importnumpyasnpa=1.13.3,5.5,7.7,9.9b=0.0,2.2,44,6.6,8.8arr_a=np.

6、array(a)print(arr_a)cl=arr_aarr_a6c2=arr_aarr_a绑定(binding)或堆叠(stacking)。可使用concat()函数。合并重叠数使用是combine_first()函数,该函数的作用是用函数参数对象中的数据为函数调用对象的缺失数据“打补丁”。即填充函数调用对象中的数据缺失值。.字段拆分是按照固定的字符,拆分已有的字符串。字符分割函数有正序分割列split()函数和逆序分割列rsplit()函数。字段抽取是根据已知列数据的开始和结束位置,抽取出新的列。字段抽取采用slice。函数。记录抽取是指根据一定的条

7、件,对数据进行抽取。记录抽取函数的语法如下:dataframcondition,其中,condition为过滤条件。函数返回值是DataFramo.重塑层次化索引,使用stack。函数会将数据从”表格结构“变成”花括号结构“,即将其行索引变成列索引,反之,unstack()函数将数据从“花括号结构“变成”表格结构“,即要将其中一层的列索引变成行索引。.利用映射实现数据转换的过程:首先创建映射关系,例如,创建字典fruits用于指明水果标识和水果名称的映射关系,然后运用replace。函数,通过fruits映射关系来实现元素的替换;或是利用map()函数,通过构建fruits映射关系

8、来实现元素的添加。.使用join。函数可以将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。使用split。函数,可通过指定分隔符对字符串进行拆分,使用replace。函数可将字符串中的old(旧字符串)替换成new(新字符串),使用find。函数可查找子字符串,若找到返回从0开始的下标值,若找不到返回T。第9章机器学习库scikit-learn入门一、简答题.机器学习是人工智能的一种类型,从广义上来说,机器学习是一种能够赋予机器学习的能力,这种学习能力是不需要通过编程来实现的。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测

9、未知属性的一种方法。机器学习的基本流程如图9-2所示。.机器学习的问题分为监督学习和非监督学习两大类。督学习的算法有线性回归、逻辑回归、神经网络和SVM(支持向量机),常见的非监督式学习算法有聚类算法。.scikit-learn的简称为sklearn,scikit-learn库是面向Python的免费机器学习库。sklearn不仅包含有分类、回归、聚类算法,如SVM、随机森林、k-means等,而且还包含有降维、模型选择和数据预处理等机器学习算法。sklearn支持NumPy和SciPy数据结构,以及Matplotlib库。.在sklearn中的数据表示的最佳方式就

10、是数据表。一个基本的数据表就是一个二维数据网格,其中行表示数据集的各个元素,也称为样本,列表示这些元素(样本)的特定定量信息。在scikit-learn模型中,数据除了特征矩阵X之外,通常还使用标签或目标数组。.在机器学习中,所谓特征归一化,就是将各特征的数值进行缩放,使特征的数值大小范围转换为相同的区间。在机器学习中,进行特征归一化原因是在同一个样本中,由于各特征的评价指标不同,往往会使各特征具有不同的量纲和量纲单位,从而造成各特征的数值大小范围不一致。为了消除指标之间的量纲影响,需要对数据进行归一化处理,以解决数据指标之间的可比性问题。.在scikit-learn中,最常用的

11、特征归一化方法有MinMaxScaler()和StandardScaler()0实现特征归一化具体参见示例代码example9-7.py和示例代码example9-8.py。.使用scikit-learn进行机器学习的流程:首先数据清洗,准备好数据集,然后根据机器学习问题选择相应的模型,并进行调整参数训练和测试模型。.超参数是指在模型开始学习过程之前人为预先定义的参数,而不是通过训练得到的参数数据。通过调整超参数来训练模型的过程称为调参。调参就是寻找k取多少值时为最优值。寻找最优超参数的方法,一种是依靠经验取值,另一种是依靠实验确定,如通过交叉验证(cross_valida

12、tion)来验证模型优劣。.交叉验证的原理:先将整个数据集分为训练集和测试集两部分。用不重复抽样将训练集的数据随机分为k份。k-1份数据用于模型训练,剩下那一份数据用于验证模型。重复第三步k次,并保证每重复一次所选择的验证集和训练集是不相同的。重复k次后将得到k个模型和它的评估结果。第10章电影数据分析项目一.编程题.代码如下:#-coding:utf-8-*-importpandasaspdimportmatplotlib.pyplotaspit#加载数据movies_df=pd.read_csv(,d:/data/movie_metadata.csvencodi

13、ng=MGBKH)column_null_number=movies_df.isnull().sum()movies_dfLnonull=movies_df.dropna()movies_dfLnew=movies_dCnonull.drop_duplicates(keep=tfirstt)movies_dfLnew.describe()#第1题plt.scatter(x=movies_dfLnew.duration,y=movies_diLnew.movie_facebook_likes)plt.xlabelCuration*)plt.ylabel(fmovie_faceb

14、ook_likes1)plt.title(,duration&likes,)plt.savefig(,d:/data/duration_likes.png,)plt.showQ2至6题代码如下:#-*-coding:utf-8-*-importpandasaspdimportmatplotlib.pyplotaspit#加载数据movies_df=pd.read_csv(,d:/data/movie_metadata.csvencoding=MGBKH)column_null_number二movies_df.isnull().sum()movies_dfLnonu

15、ll=movies_df.dropna()movies_dfLnew=movies_dfLnonull.drop_duplicates(keep=Tfirst,)movies_dfLnew.describe()#第2题movie_score_20=movies_d_new.sort_values(,imdb_score,ascending=False).head(20)result=movie_score_201director_nameT,Timdb_score1print(result)#第3题director_group二movies_df_new.gr

16、oupby(,director_name!).size()group_head_10=director_group.sort_values(ascending=FaIse).head(10)print(group_head_10)#第4题movie_grose_10=movies_dfLnew.sort_values(,gross,ascending二False).head(10)print(movie_grose_101director_name!,1gross*)#第5题movie_grose_5=movies_dfLnew.sort_values(gros

17、s,ascending=False).head(5)print(movic_grosc_5actor_l_name1gross)#第6题movie_actor_10=movies_dfLnew.sort_values(factor_l_facebook_likes,ascending二False).head(l0)print(movie_actor_10factor_l_nameVactor_l_facebook_likes)7.数据分析的常用工具:目前主流的数据分析语言有Python、R、MATLAB这3种。各有优劣:教材表1-1从语言学习难易程度、使用场景、第

18、三方支持、流行领域和软件成本等方面比较了Python、R、MATLAB这3种数据分析工具。第2章Python与数据分析.Python语言的特点:参见教材2.1.1Python语言的特点。Python程序的执行过程:Python是一种解释型编程语言,每次运行Python命令时,Python的解释器就会启动,此时就会出现Python命令提示符,在该提示符下输入命令,就可直接运行。解释型语言的好处是不需要对代码进行编译链接,只需要编写好程序,就可直接运行,.测试Python软件是否安装成功:参见教材P13页中3测试Python。Python程序的后缀名是py.在Python交互式终

19、端上Python语言的命令提示符是.运用Python语言作数据分析的势:参见教材P8页中2.2Python与数据分析关系.PyCharm和JupyterNotebook这两款数据分析软件各有特点和优势:PyCharm是适合用于开发Python的项目程序,PyCharm是一款专门服务Python程序开发的集成开发环境,它具有配置简单、功能强大、使用方便的优势。JupyterNotebook(又称IPythonNotebook)是一个交互式的在线编辑器,它可以每编辑一行代码就运行一行代码,并且将运行的结果显示在代码的下方,以方便用户查看,非常适合做交互式的数据分析。它的优势

22、串变量连接起来。.Python中可变数据类型有列表(list)和字典(diet),不可变数据类型有整型(int)、浮点型(float)、字符串型(string)和元组(tuple)。.列表创建方法:在Python中创建列表的方法有两种,一种是使用方括号创建,另一种是使用list。函数创建。列表元素提取方法:在列表对象后面紧接方括号i,其中i是指定的索引o列表元素切片操作的格式:序列对象起始元素索引:终止元素索引:步长值。.为列表添加元素的函数有:append。函数、extend。函数和insert()函数,使用append。函数向列表对象中添加元素,该元素会被追加到列表的尾部;

23、使用extend。函数能够将另一个列表添加到列表的末尾,相当于将两个列表进行拼接。使用insert。函数可以在指定位置添加元素。.删除列表中元素有del、pop和remove语句。修改列表中元素最简单的方法是提取该元素并进行赋值操作。.元组创建方法:一种是使用园括号()创建,另一种是使用tuple。函数创建。元组元素提取方法:在元组对象后面紧接方括号i,其中i是指定的索引。元组切片操作的格式:序列对象起始元素索引:终止元素索引:步长值元组解包的格式:varl,var2,,varn=tuple.统计元组中元素出现的次数方法:tuple,count(元素)。获取元素在元组中第1次出

24、现的位置:tuple,index(元素).创建字典的方法:一种是使用花括号创建,另一种是使用diet()函数创建。获取字典元素的方法:一种方法是通过键获取字典元素,即字典键;另一种方法是使用字典get()函数。删除字典元素的方法:使用del语句删除元素,其格式为deldict_namekey,使用pop语句删除字典元素,其格式为dict_name.popkey,使用clear。函数则会删除字典中的所有元素。修改字典元素的方法:可使用键访问赋值来修改,格式dict_namekey=new_value.列表、元组和字典的区别:列表与元组是使用索引来对应元素,而字典主要是通过键

25、来访问对应的元素。列表和字典是可变数据类型,所以可以对列表和字典对象进行元素的增删改查操作。.Python的流程控制语句中是使用缩进来划分语句块,相同缩进的语句组成一个语句块。.Python中没有switch和case语句,多路分支语句只能通过ifelifelse流程控制语句来实现。.break语句的作用是终止循环语句,continue语句作用是告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。pass是空语句,作用是保持程序结构的完整性。.Python函数定义的语法格式:def函数名(参数列表):函数体.在Python中使用*args和*kwargs可以定义可

26、变参数,在可变参数之前可以定义0到任意多个参数,可变参数永远放在参数的最后面。.局部变量和全局变量区别:在函数体内定义的变量为局部变量,局部变量只能在其被赋值的函数内部访问。定义在函数体外的变量称为全局变量。全局变量可以在函数体内被调用。二.编程题.代码如下:#-coding:UTF-8-*-gradeJist=(李芳,86,80)(张艳,74,75)grade_list.append(王志,87,95)print(grade_list)new_list=foriingrade_list:new_list.append(iO,i1*0.4+i2*0.6)p

27、rint(new_list)gradeist.remove(李芳,86,80)print(grade_list).代码如下:dictl=电视机,:3400J空调,:2300dictl洗衣机】二1200print(dictl)values=list(dictl.values()max_value=max(values)printprint。print。:高价格print。:高价格%max_value)diet空调I=2800print(dictl)deldictl电视机print(dictl).代码如下:defevennumber_sum_function(n):su

28、m,i=0,l#求1到n数字的偶数和sumwhile(ihstack()和vsta中()等函数可实现数组的连接操作,而利用split。、hsplitO和vsplitO等函数可实现数组的分割操作。.在NumPy中,不同形状的数组可以进行四则运算,因为,如果两个数据的形状(shape)不一致时,低维数组会自动将维度扩充到与高维数组一致,然后再按元素逐个运算,这就是数组的广播机制。.说明数组与矩阵的联系和区别:参见教材P85页。10.dot()函数是数组中对应元素相乘的累加和(矢量积),而multiply。函数和星号(*)是将数组中对应元素相乘(数量积)。二.操作题(1)在Wi

29、ndows操作系统下安装NumPy和SciPy软件包。(2)在PyCharm开发工具下安装NumPy和SciPy。三.编程题.代码如下#-coding:UTF-8importnumpyasnpcp_type=np.dtype(,namenp.str,10),(,64)print,数据亲型::cp_type)cp_arr=np.airay(李明(王华dtype二cp_type)print,自定义数据类型的数组:cp_arr).代码如下coding:UTF-8importnumpyasnpa=625,0,1,3,4,7,8,9arr

30、=np.array(a)arr.shape=(2,5)print(arr)print,将arr数组竖直分割为2个大小相等的子数组:print(np.split(arr,2)print(np.vsplit(arr,2).代码如下#-*-coding:UTF-8importnumpyasnpa=6,2,5,0,134,7,8,9b=2,3门,5,7arr_a=np.array(a)arr_a.shape=(2,5)arr_b=np.array(b,dtype=int)arr_b.shape=(1,5)arr_c=arr_a+arr_bprint(arr_c).代码如下coding:UTF-8importnumpyasnpa=6,2,5,0,1,3,4,7,8,9,10,11arr=np.array(a)arr.shape=(3,4)bl=arr:2,:2b2=arr2b3=arrl:,2:print(bl,b2,b3).代码如下coding:UTF-8importnumpyasnpa=6,2,5,0,1,3,4,7,8,9,10,11arr=np.arra

THE END
1.与Knime:两款数据分析软件的功能对比在数据驱动的时代,数据分析软件成为了各行各业中不可或缺的工具。Minitab 和 Knime 都是备受欢迎的数据分析软件,它们在功能和应用领域上有着一些相似之处,同时也有一些明显的差异。https://www.ruanfujia.com/11154380/
2.pycharm怎么进行数据分析帆软数字化转型知识库PyCharm进行数据分析可以通过:安装数据分析相关插件、使用内置工具、结合外部库(如Pandas、NumPy、Matplotlib)来实现。其中,结合外部库是最常用的方法。PyCharm支持多种数据分析库,如Pandas、NumPy、Matplotlib等,这些库提供了丰富的数据处理、统计分析和可视化功能。例如,Pandas库可以让你方便地操作数据表格,实现数据清洗、https://www.fanruan.com/blog/article/465818/
3.使用Pycharm高效采集数据进行Python数据分析pycharm数据分析案例Pycharm作为一个Python集成开发环境,不仅可以帮助我们进行代码编写、调试和运行,而且还可以帮助我们方便地采集数据。在本文中,我们将介绍如何使用Pycharm进行数据采集,并对采集的数据进行分析处理。 一、Pycharm简介 Pycharm是一款由JetBrains公司开发的Python集成开发环境。它具有智能代码编辑器、强大的调试器、内置的版本控https://blog.csdn.net/Python_cocola/article/details/130705055
4.大数据集群运维(11)python第三方库大全51CTO博客orange:通过可视化编程或 Python 脚本进行数据挖掘,数据可视化,分析和机器学习。官网 Pandas:提供高性能,易用的数据结构和数据分析工具。官网 PyDy:PyDy 是 Python Dynamics 的缩写,用来为动力学运动建模工作流程提供帮助, 基于 NumPy, SciPy, IPython 和 matplotlib。官网 https://blog.51cto.com/u_15127576/3553154
5.什么是JUPYTER?一文快速了解JUPYTER基础知识作为Jupyter最常用的语言之一,Python提供了丰富的库和工具,适用于数据分析、机器学习、科学计算等多个领域。 R R是一个流行的统计分析和数据可视化语言。Jupyter支持R语言内核,允许用户在Notebook中使用R进行数据分析和建模。 Julia Julia是一种高性能、动态编程语言,适用于科学计算和数值分析。Jupyter支持Julia语言内核,https://www.eefocus.com/e/1596801.html
6.版下载intellijidea2021.3中文版下载v2021.3idea2021.3是一款专业性Java语言编程开发软件,idea2021.3不论是从出色的功能还是简单易用的操作方式,亦或是其广泛的适用性都深受用户的热烈追捧。相较于之前的版本相比,idea2021.3不仅是在界面上有所改进,同时在功能上也带来了一些全新特性,如常令人头疼的远程开发问题,在新版的idea中,用户可通过最新的Kotlin调试器完美https://www.32r.com/soft/27647.html
7.2023年Python最热门的14个应用开源地理空间基金会中文分会Keras :一个简单易学的深度学习和神经网络 API, 在 TensorFlow 之上用 Python 编写, 可在 CPU 和 GPU 上高效运行。 Scikit-learn :一个流行的机器学习库, 用于特征工程、数据预处理、模型评估、超参数调整等。 实际示例: Spotify :Spotify 使用 Python 进行数据分析和机器学习, 以改进其音乐推荐算法。 https://www.osgeo.cn/post/10347
8.电影数据分析电影大数据大数据毕业设计机器学习深度学习在大数据与人工智能技术蓬勃发展的背景下,我们精心打造了一款基于Python的豆瓣电影数据分析与可视化系统,致力于为电影爱好者与专业人士提供全方位、个性化的观影服务体验。现今,人们对电影欣赏的需求已超越单一的娱乐诉求,转而追求个性化推荐、深度解读及社区互动的综合体验。 https://www.douban.com/note/863775631/
9.图片处理文本处理自然语言处理机器学习日志代码分析等Python资源大全中文版,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等 - lework/awesome-python-cnhttps://github.com/lework/awesome-python-cn/
10.pycharm是一款机器学习是一门从数据中研究算法的科学学科。直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型。 A. 正确 B. 错误 查看完整题目与答案 个麦氏比浊单位相当于菌液浓度是:( ) A. 0.5×108/ml B. 1.0×108/ml C. 1.5×108/ml D. 3.0×108/ml E. 6.0×108/ml 查看完整https://www.shuashuati.com/ti/0c16ae4dd9f64f2e8552e9bb595f66a7.html?fm=bd12a10a01ea092042ce91ae13fae0a397
11.PyCharm是由JetBrains公司开发的一款流行的Python集成开发环境- 更新还可以修复已知的问题和漏洞,确保开发环境稳定可靠。 PyCharm作为一款专为Python开发者设计的强大工具,无论是在功能丰富度还是用户体验方面,都堪称一流。无论是进行Web开发、数据分析、机器学习还是科学计算,PyCharm都能为开发者提供必要的支持,帮助他们高效地完成任务。点https://www.coder100.com/index/index/content/id/4138538
12.Python常用库总结awesome-python 是vinta 发起维护的 Python 资源列表,内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由伯乐在线持续更新。 Awesome 系列虽然挺全,但基本只对收录的资源做了极为简要的介绍,如果有更详细的中文介绍,对相应开发https://www.jianshu.com/p/b9c5e31fb607?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
13.Python资源大全中文版控件新闻灵感来自于Moment.js。官网 PyTime:一个简单易用的Python模块,用于通过字符串来操作日期/时间。官网 pytz:现代以及历史版本的世界时区定义。将时区数据库引入Python。官网 when.py:提供用户友好的函数来帮助用户进行常用的日期和时间操作。官网文本处理用于解析和操作文本的库。https://www.evget.com/article/2017/3/9/25879.html
14.有pycharm还需要anaconda吗1. 如果你是一名初学者或需要快速上手Python编程,那么PyCharm可能是更好的选择。PyCharm提供了丰富的功能和友好的界面,可以帮助你更快地编写代码、调试程序。此外,PyCharm的价格相对较低,适合初学者尝试和学习。 2. 如果你是一名数据科学家或需要处理大量数据,那么Anaconda可能是更好的选择。Anaconda提供了强大的包管https://www.sousou.com/bk/199791.html
15.Python数据分析神器——jupyter一些应知应会的奇技淫巧用Python做数据分析的朋友,自然离不开jupyter notebook(以下简称jupyter)这款神器,它能让你非常方便的在数据探索过程中有良好的实时交互效果。今天我们就来分享一些jupyter的奇技淫巧。 一、主题设置 看腻了jupyter白茫茫的界面了?别急,那就给它换个主题,给自己也换个心情。在这之前,我们先要安装主题插件,直接piphttps://cloud.tencent.com/developer/article/1461456
16.《机器学习Python实践》习题库试题及答案.docxB.无监督学习 C.强化学习 D.强调学习 答案:D 解析:第一章,1.3小节。 12.常用的Python编程环境有哪些? A.Jupyternotebook B.PyCharm C.Spyder D.ScalaIDE 答案:D 解析:D选项是编写Scala代码的。 二、判断题 1.机器学习简单来说就是让机器进行学习,学习的目的是实现对世界上的人事物进行预测或者判断。 答案https://max.book118.com/html/2024/1022/6153041203010234.shtm