基础 Python 数据科学库:备忘单(第 1/4 部分)
基础 Python 数据科学库:备忘单(第 1/4 部分)

如果您是一名开发人员,并且希望将数据操作或科学集成到您的产品中,或者开始您的数据科学之旅,下面是您需要了解的 Python 库。
- NumPy
- 熊猫
- Matplotlib
- sci kit-学习
本系列的目标是提供关于如何使用必备库的介绍、亮点和演示,以便您可以选择更深入的内容。
NumPy
正如 NumPy 的网站上所写的,这个库是 Python 科学计算的基础。它包括超高速的强大的操作和数学功能。
图书馆的焦点
这个库是关于多维数组的。它在外观上类似于 list & 索引,就像 list 一样,但是带有一组更强大的工具。
安装
打开命令行并键入:
pip install numpy
Windows:过去我发现安装 NumPy 是一件令人头疼的事情,所以我鼓励所有 Windows 用户下载 Anaconda 的 Python 发行版,它已经安装了所有的数学和科学库。
详情
NumPy 数组在几个方面不同于列表。
1)NumPy 数组中的所有数据必须是相同的数据类型,一个列表可以包含多个
2)NumPy 阵列的内存效率更高,速度更快!详细解释见此处
3)列表没有内置那么多强大的数学方法和属性!—对数据探索和开发非常有用。
让我们开始吧!
import numpy as np
创作
可以用几种不同的方法创建数组。
来自列表或元组
# 1 dimensional array (you can pick more)
future_array1 = [1,2,3,4,5]
array1 = np.array(future_array1)>>> array1
array([1, 2, 3, 4, 5])
带占位符内容
# there are other placeholder options, see jupyter notebook below
placeholder_zero = np.zeros((3,4), dtype=np.int) # default np.float>>> placeholder_zero
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]])
同一个序列
# sequence based on steps (start, end, step_value)
sequence_array1 = np.arange(10, 30, 4)# evenly spaced sequence based on number specified
# (start, end, number_of_elements)
sequence_array2 = np.linspace(10, 30, 4)>>> sequence_array1
array([10, 14, 18, 22, 26])>>> sequence_array2
array([ 10\. , 16.66666667, 23.33333333, 30\. ])
上传数据
# csv = comma separated values
data = np.genfromtxt("your_file_here.csv", delimiter=",")
让数学变得简单
你可以对整个数组进行各种数学运算。不需要循环!将使用结果创建一个新的数组。
a1 = np.array([1,2,3,4])
a2 = np.ones((1,4), dtype=np.int)
a3 = np.zeros((1,4), dtype=np.int)# Addition/Subtraction
A = a1 + a2 - a3# Multiplication/Division
B = a2 * a3 / a2>>> A
array([[2, 3, 4, 5]])>>> B
array([[0, 0, 0, 0]])
属性&方法
除了数学运算,NumPy 还提供了许多强大的功能,您可以利用这些功能来节省时间并提高可读性。
汇总统计
>>> array1.mean()
3.0>>> array2.mean(axis=0)
array([ 5\. 6\. 7\. 8.])>>> array2.mean(axis=1)
array([ 2.5 6.5 10.5])
此外,还有。max(),。min(),。sum(),还有更多。
重塑
A = np.array([1,2,3,4,5,6,7,8,9,100])
B = A.reshape((2,5)) # takes a tuple of dimensions
C = B.T # transpose>>> B
array([[ 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 100]])>>> C
array([[ 1, 6],
[ 2, 7],
[ 3, 8],
[ 4, 9],
[ 5, 100]])
更多数学知识
D = A.reshape((1,10))>>> A.dot(D)
array([10285])
还有更多(不胜枚举)可用的数学方法。Dot 只是我的最爱。
我在这里提供了一个链接来下载我的 NumPy 演练,使用 Jupyter 笔记本来完成我们所涉及的所有内容甚至更多!
以前没用过 Jupyter 笔记本?访问他们的网站这里。
总的来说,如果您需要对数据列表进行复杂的转换,我建议您在自己编码之前搜索 NumPy 解决方案。这将省去你许多头痛的事。
应用程序
让我们看一个场景。比方说,我能够出口贸易交易:购买和销售。我想看看每次交易后我手头有多少现金。
import numpy as np# deposited $100,000 and then started buying and selling
trades = [100000, -10000, 10500, -100000, 175000]# convert my trades to a numpy array
trades_array = np.array(trades)>>> trades_array.cumsum()
array([100000, 90000, 100500, 500, 175500])
这是一个非常简单的版本,虚构的数据。然而,如果我们想处理上面显示的数据,但是数据旁边有日期,那该怎么办呢?这是可能的,看看我的下一篇关于熊猫的文章。
感谢阅读!如果你有问题,请随意评论&我会尽量回复你。
感谢阅读!如果你有问题,请随意评论&我会尽量回复你。

在 Instagram 上与我联系@ Lauren glass&LinkedIn
在亚马逊上查看我的必需品清单

Search for me using my nametag on Instagram!