数据科学入门的基本python编程基础。
![f38395c7dbecaea82122fe5a26c57099.png](https://img-blog.csdnimg.cn/img_convert/f38395c7dbecaea82122fe5a26c57099.png)
不熟悉编程的数据科学领域的初学者通常很难确定正确的起点。 在各个论坛上有数百个关于如何开始使用DS进行Python编程的问题,这篇文章和视频系列是我试图解决所有这些问题的尝试。
我曾经是一名Python传播者,他的职业生涯是从全栈Python开发人员开始的,他先是涉足数据工程和数据科学领域。 我之前在Python方面的经验以及对Maths的精通掌握使我对数据科学的转换感到满意。 因此,这是帮助您进行Python编程的基础知识。
在深入了解基本要素之前,请确保您已经设置了Python环境并知道如何使用Jupyter Notebooks(可选)。
基本的Python课程可以分为4个基本主题,其中包括:
· 数据类型(整数,浮点数,字符串)
· 复合数据结构(列表,元组和字典)
· 条件,循环和函数
· 面向对象的编程和使用外部库
让我们快速浏览其中的每一个,以了解需要学习的重要知识,同时介绍基本知识以及随着时间的推移您将学到什么。
1.数据类型和结构
第一步是了解Python如何解释各种数据。 从广泛使用的数据类型开始,我们应该熟悉Integer(int),Floats(float),strings(str)和boolean(bool)。 你应该练习什么
类型,类型转换和I / O功能:
· 使用thetype()方法学习数据类型。
![a93b89f4f4b51238729fdf17c63f54f5.png](https://img-blog.csdnimg.cn/img_convert/a93b89f4f4b51238729fdf17c63f54f5.png)
· 将值存储到变量和输入输出函数中= 5.67
· 类型转换-将变量/数据的特定类型转换为另一种类型(如果可能)。 例如:将整数字符串转换为Integer。
![d0816a9fa6de3e17cf23215600ce0ea4.png](https://img-blog.csdnimg.cn/img_convert/d0816a9fa6de3e17cf23215600ce0ea4.png)
![aacf5e0c7d7aaa4f8a384e084f01beca.png](https://img-blog.csdnimg.cn/img_convert/aacf5e0c7d7aaa4f8a384e084f01beca.png)
> Converting a string "55" into Integer 55 and conversion throws a value error when the casting isn'
一旦您熟悉了基本数据类型及其用法,我们现在就可以专注于算术运算符和表达式求值(DMAS),并将结果存储在变量中以备将来使用。
![bb2c1f348a6b4d60605d77611c3116cf.png](https://img-blog.csdnimg.cn/img_convert/bb2c1f348a6b4d60605d77611c3116cf.png)
字串:
您将需要处理文本数据和字符串,并且它们的运算符在处理字符串数据类型时非常方便。 实践这些概念:
· 使用+连接字符串。
· 使用split()和join()方法分割和连接字符串。
· 使用lower()和upper()方法更改字符串的大小写。
· 使用字符串的子字符串
这是涵盖所有要点的笔记本。
2.复合数据结构(列表,元组和字典)
列表和元组(复合数据类型):
Python列表是最常用和最重要的数据结构之一,它将为在数据数组上计算代数方程和统计模型铺平道路。 列表是元素的集合,该集合可以是相同或不同的数据类型。 熟悉的概念:
· 多种数据类型可以存储在python列表中。
· 索引和切片以访问列表的特定元素或子列表。
· 用于排序,反转,删除元素,复制和附加的辅助方法。
· 嵌套列表-包含列表的列表。 例如:[1,2,3,[10,11]]
· 添加和扩展列表。
![d8de294cd229d8001717db15b348873c.png](https://img-blog.csdnimg.cn/img_convert/d8de294cd229d8001717db15b348873c.png)
> Multiplying a scalar and adding a list to another list.
元组是项的不可变有序序列。 这些与列表相似,但主要区别在于它们是不可变的,而列表是可变的。 要关注的概念:
· 索引和切片(类似于列表)
· 嵌套元组。
· 添加元组和辅助方法,例如count()和index()
辞典
这些是Python中的另一种收集类型。 列表是简单的整数索引,字典更像地址。 我们在字典中有键/值对。 键类似于列表中的索引。
![0db761a0653aa02d14a6e200a2256e50.png](https://img-blog.csdnimg.cn/img_convert/0db761a0653aa02d14a6e200a2256e50.png)
> Representation of a dict as key-value pairs
要访问元素,您需要在方括号中传递密钥。
![1bb596e4870d6f14b2dcd26fc66f3834.png](https://img-blog.csdnimg.cn/img_convert/1bb596e4870d6f14b2dcd26fc66f3834.png)
> Accessing the value by passing in the key
重点关注的概念:
· 迭代字典(将被循环覆盖)
有关上述主题的笔记本可以在这里找到。
3.条件,循环和函数
条件与分支
我们在第一部分讨论了布尔数据类型(True / False),Python使用这些布尔变量来评估条件。 每当需要进行比较或评估时,布尔值就是最终的解决方案。
![7e5fe2e8c498b79bc17b1fd324f2bf2c.png](https://img-blog.csdnimg.cn/img_convert/7e5fe2e8c498b79bc17b1fd324f2bf2c.png)
由于人们将赋值运算符(单等号=)与比较运算符(双等号==)相混淆,因此需要仔细观察图像中的比较。
布尔运算符(或,非)
这些用于一起评估复杂的断言。
或—要使整个条件为真,应该进行许多比较之一。
AND —所有比较都应为真,以使整个条件为真。
NOT(否)—检查是否与指定的比较相反。
![435a5c79f9033e32a4827cc3a94ea538.png](https://img-blog.csdnimg.cn/img_convert/435a5c79f9033e32a4827cc3a94ea538.png)
![ed2015aec9a667334bde9aa0115e738e.png](https://img-blog.csdnimg.cn/img_convert/ed2015aec9a667334bde9aa0115e738e.png)
要学习的概念:
· IF,ELSE和ELIF语句可构造条件。
· 在一种情况下进行复杂的比较。
· 在编写嵌套的if / else语句时要牢记缩进。
· 使用布尔值," in"," is"和" not"运算符。
循环
您经常需要重复执行一项任务,循环是我们最好的朋友,可以消除代码冗余的开销。 您通常需要遍历列表或字典的每个元素,而循环很方便。 " While"和" For"是两种类型的循环。 专注于:
· range()函数,并使用for循环迭代序列。
· While循环
![4edd580933f4ea487033e314fe7dd21d.png](https://img-blog.csdnimg.cn/img_convert/4edd580933f4ea487033e314fe7dd21d.png)
· 迭代列表并按特定顺序附加(或其他任何带有列表项的任务)元素
![dad7e9a773bfc6f0840aa8343824c3a1.png](https://img-blog.csdnimg.cn/img_convert/dad7e9a773bfc6f0840aa8343824c3a1.png)
· 使用break,pass和continue关键字。
清单理解
一种复杂且简洁的方法,该方法使用后跟for子句的iterable创建列表。 例如,您可以使用列表推导创建一个9个多维数据集的列表,如下面的示例所示。
![1100348d45fb2ad1b568280ba36d782d.png](https://img-blog.csdnimg.cn/img_convert/1100348d45fb2ad1b568280ba36d782d.png)
职能
在执行相似任务的大型项目上进行工作,维护代码成为一项任务,而使用函数来管理代码的便捷方法。 函数是一段代码,对输入数据执行一些操作并提供所需的输出。
使代码更具可读性,减少冗余,使代码可重用,并节省时间。
Python使用缩进来包含代码块。 这是一个函数示例:
![c859c7b7ef522808cc4c6bd7b703f854.png](https://img-blog.csdnimg.cn/img_convert/c859c7b7ef522808cc4c6bd7b703f854.png)
我们使用def关键字定义一个函数,后跟该函数的名称以及括号和冒号内的arguments(input)。 函数的主体是缩进的代码块,然后将输出作为输出返回。
![be1cfaaa2b789b9c7a6a0806f6f70862.png](https://img-blog.csdnimg.cn/img_convert/be1cfaaa2b789b9c7a6a0806f6f70862.png)
调用函数-通过指定名称并根据其定义在括号内传递参数来调用函数。
更多示例和详细信息在这里。
4.面向对象的编程和使用外部库
我们一直在使用辅助方法来处理列表,字典和其他数据类型,但是这些方法来自何处? 当我们说列表或字典时,实际上是在与列表类对象或字典类对象进行交互。 打印字典对象的类型将向您显示它是一个类dict对象。
![ebc96a34d7fada3654321b50afa2ed28.png](https://img-blog.csdnimg.cn/img_convert/ebc96a34d7fada3654321b50afa2ed28.png)
这些都是python语言中的预定义类,它们使我们的任务变得非常容易和方便。
现在,对象是类的实例,并且被定义为将变量(数据)和函数封装到单个实体中。 他们可以访问类中的变量(属性)和方法(函数)。
现在,问题是我们可以创建自己的自定义类和对象吗? 答案是肯定的。
这是定义类及其对象的方式:
![7f93a0fdd9ba20c78a39ff439e5a132e.png](https://img-blog.csdnimg.cn/img_convert/7f93a0fdd9ba20c78a39ff439e5a132e.png)
然后,您可以使用dot(。)运算符访问属性和方法。
![1b1248baffbdd40198f6c4e8f1d67727.png](https://img-blog.csdnimg.cn/img_convert/1b1248baffbdd40198f6c4e8f1d67727.png)
使用外部库/模块
使用Python进行数据科学的原因之一是其出色的社区,该社区针对不同的领域和问题开发了高质量的软件包。 使用外部库和模块是在python中处理项目不可或缺的一部分。
这些库和模块定义了可用于完成任务的类,属性和方法。 例如,数学库包含许多数学函数,我们可以使用它们来进行计算。 这些是.py文件。 您应该学会:
· 在工作区中导入库
![2eec019b645490517d0803c44e85da2f.png](https://img-blog.csdnimg.cn/img_convert/2eec019b645490517d0803c44e85da2f.png)
· 使用帮助功能了解库或功能
![8ea450c2bf09c1fe45e3377c18a10d57.png](https://img-blog.csdnimg.cn/img_convert/8ea450c2bf09c1fe45e3377c18a10d57.png)
· 直接导入所需的功能:
![898d3eb2ff448b1ecfc1631c370b30c3.png](https://img-blog.csdnimg.cn/img_convert/898d3eb2ff448b1ecfc1631c370b30c3.png)
· 您应该学习阅读诸如pandas,numpy和sklearn之类的知名软件包的文档,并在项目中使用它们
(本文翻译自Harshit Tyagi的文章《Python Fundamentals for Data Science》,参考:https://towardsdatascience.com/python-fundamentals-for-data-science-6c7f9901e1c8)