数据科学初学者
介绍
Python 是一种非常强大的编程语言,适用于数据科学和人工智能。与每种编程语言一样,Python 中也有一些基本要素或基础知识,需要理解才能掌握该语言。
在本指南中,您将获得使用 Python 成功进行数据科学所需的基础知识。我们将介绍八个概念:
- 变量
- 列表
- 字典
- 数组
- 功能
- 套餐
- 数据框
- 机器学习简介
变量
变量是一个特定的、区分大小写的名称,允许您引用一个值,如下例所示。在第一行中,我们将值 88 分配给变量“marks”。在第二行中,我们调用返回其存储的值的变量。
marks = 88
marks
输出:
88
变量有很多种类型。最常见的有float(表示实数)、int(表示整数)、str(表示字符串或文本)和 bool(表示 True 或 False)。可以使用type()函数检查变量的类型。
month = "march"
average_marks = 67.3
print(type(marks)); print(type(month)); print(type(average_marks))
输出:
<class 'int'>
<class 'str'>
<class 'float'>
列表
列表是 Python 中最通用的数据结构之一。它们包含一组值。列表可以包含相同或不同类型的项目,并且元素也可以更改。只需在方括号中定义一个逗号分隔值的集合即可轻松创建列表。下面的代码行创建了一个列表“movie”,其中包含最成功的电影的名称及其票房收入(以十亿美元为单位)。
movie = ["Avengers: Endgame", 2.796, "Avatar", 2.789, "Titanic", 2.187, "Star Wars: The Force Awakens", 2.068, "Avengers: Infinity War", 2.048]
type(movie)
输出:
list
还可以创建列表列表,如下所示。
movie2 = [["Avengers: Endgame", 2.796], ["Avatar", 2.789], ["Titanic", 2.187], ["Star Wars: The Force Awakens", 2.068], ["Avengers: Infinity War", 2.048]]
movie2
输出:
['Avengers: Endgame'
在 Python 中对列表进行子集化很容易,并且从索引 0 开始。这就是为什么它被称为基于零的索引。假设我们想查看列表“movie”的第一个元素。我们可以使用语法 ***movie[0]*** 轻松完成此操作。
movie[0]
输出:
'Avengers: Endgame'
与子集一样,在 Python 中对列表进行切片也很容易。语法格式为 ***list[start:end]***,其中“start”元素包含在内,但“end”元素不包含在内。下面的示例打印了第三到第五个元素的输出,但不包括第六个元素。
movie[3:6]
输出:
2.789
我们还可以执行列表操作来更改、添加或删除列表元素,如下所示。
# Adding the new element
movie + ["Jurassic World", 1.67]
输出:
'Avengers: Endgame'
元组
元组是由逗号分隔的多个值。元组和列表之间的主要区别在于元组不能更改,并且元组使用括号,而列表使用方括号。
tuple_1 = 20,30,40,50,60
tuple_1
输出:
(20, 30, 40, 50, 60)
字典
列表很方便,但不直观。字典是列表的直观替代品。两者的主要区别在于,列表按数字范围进行索引,而字典按唯一键进行索引,可用于创建查找表。一对括号 {} 创建一个空字典,如下所示:
mov = {"Avengers: Endgame": 2.796, "Avatar":2.789, "Titanic":2.187}
mov["Avatar"]
输出:
2.789
Numpy 数组
Python 列表的另一种替代方案是 numpy 数组,它是数据点的集合。列表功能强大,但对于数据科学,我们需要一种速度快且允许对元素进行数学运算的替代方案。Numpy 数组允许更简单的计算,如下例所示。
import numpy as np
runs = [100, 89, 75, 28]
np_runs = np.array(runs)
over = [10, 9, 6, 2]
np_over = np.array(over)
runs_over = np_runs / np_over
runs_over
输出:
array([10, 9.89, 12.5, 14])
可以采用与列表类似的方式对 numpy 数组进行子集设置。
runs_over[0]
输出:
10.0
也可以使用 numpy 创建 n 维数组。在下面的示例中,我们创建了一个二维数组,其中包含运行和结束。
example_2d = np.array([[100, 89, 75, 28, 35],
[10, 9, 6, 2, 4]])
example_2d
输出:
array([[100, 89, 75, 28, 35],
[ 10, 9, 6, 2, 4]])
对 n 维 numpy 数组进行子集化也遵循从零开始的索引方法。下面的代码行中显示了一些示例。
# Extracting the first row of the array
print(example_2d[0])
# Extracting the first row and second element of the array
print(example_2d[0][1])
# Extracting the second and third columns and subsequent rows
example_2d[:,1:3]
输出:
100 89 75 28 35]
89
array([[89
功能
函数可以说是预测模型中使用最广泛的组件。简单来说,函数是一段可重复使用的代码,可以调用它来解决特定问题。这减少了数据科学家的大量编码工作。我们已经使用了这样一个函数:“type()”。Python 中有许多内置函数,对于任何标准任务,都可能有一个函数。在下面的示例中,我们借助两个函数打印最大值和列表类型。
s1 = [20, 30, 26, 32, 43, 13]
print(max(s1)); print(type(s1))
输出:
43
<class 'list'>
要了解特定函数的文档,我们可以使用函数帮助。
help(max)
输出:
Help on built-in function max in module builtins:
max(...)
max(iterable, *[, default=obj, key=func]) -> value
max(arg1, arg2, *args, *[, key=func]) -> value
With a single iterable argument, return its biggest item. The
default keyword-only argument specifies an object to return if
the provided iterable is empty.
With two or more arguments, return the largest argument.
套餐
函数很强大,但复杂的代码容易变得混乱,需要大量的维护。在这种情况下,我们可以从 Python 包中获得帮助。
包可以看作是 Python 脚本的目录,其中每个脚本都包含在一个模块中。这些模块指定了几个函数和方法。Python 有几个功能强大的包,其中一些最常见的包是:
1. NumPy - 代表 Numerical Python。它用于创建和处理 n 维数组,包含基本线性代数函数以及许多其他数值功能。
2. Matplotlib – 用于可视化。
3. Pandas——用于结构化数据操作和操控。
4. Scikit Learn - 用于机器学习。这是最流行的构建机器学习模型的软件包。
5. Statsmodels – 用于统计建模。
6. NLTK——用于自然语言处理。
7. SciPy——代表科学 Python,基于 NumPy 构建。
还有成千上万个其他包,但上面列出的包是数据科学中最广泛使用的。使用import命令可以轻松导入这些包。例如,下面的代码行导入“numpy”包并创建一个数组。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~