Python中使用的流行数据科学库
数据科学是用于采购、组织、打包和以可理解的格式呈现数据的程序和方法。在不同的领域可能有不同种类的数据,这些数据可能是结构化的,也可能是非结构化的。
为什么Python在人们开始他们的编码之旅时如此受欢迎?
有许多工具和库是为Python开发者建立的,所以他们不必从头开始实现许多东西。Numpy、Matplotlib、Pandas、SciPy、scikit-learn等库被用于统计和处理数字数据。深度学习库,如Tensorflow、PyTorch等,在深度学习和机器学习爱好者中非常受欢迎。
此外,Python已经成为人们开始学习人工智能和ML的默认语言。由于Python是一种基于解释器的语言,这一特点主要用于jyputer notebooks,将整个程序分解成几块(单元),因此任何增加、删除或更新都只会影响该单元下面的代码,而不是任何基于编译的语言,因此有助于数据科学家实施解决方案并遵循标准。
Python很容易学习,是许多学校和学院教给学生的第一种语言。Python编程语言比R语言等统计编程语言更接近人类语言。由于Python是一种通用语言,它也可以在Django和Flask等流行框架的帮助下用于网络开发。R语言对于刚刚开始编程生涯的人来说有点难学,因为它更倾向于科学界。
为什么要学习数据科学?
你在不同的网站上看到的广告都是基于你喜欢的有趣的东西,你是否认为这是靠运气。如果是这样,请三思。这是从你看的youtube视频中产生的数据,从你上次的搜索中产生的数据,他们知道你喜欢的东西和你需要的东西,这样公司就能得到很好的对话率,而不是通过向一个随机的人展示它。亚马逊通过推荐系统销售了超过40%的产品。他们在很大程度上依赖于数据。
在当今时代,所有的公司都是一个数据公司,如果一个公司忽视了它的重要性,它就已经失去了竞争。这些系统背后的人严重依赖数据科学库,使他们的任务更容易。从清理数据到制作机器学习模型。
事实是:数据科学家花了70-80%的时间来清理数据,因为他们可能得到的数据是非结构化的,有偏见的,缺失的值,等等。各行各业对能够处理数据并提供一些意义充分的见解的人有巨大的需求,这样他们才能给客户带来巨大的价值。如果你不想成为一个数据科学家,你也可以用Python的框架来展示一些可视化的东西,或者用numpy来加速一些计算。
接下来,我们将看看Numpy、Scipy、Matplotlib和Pandas。
NumPy
Numpy是Python中使用的大多数科学计算的基础库,其他几个库都依赖于NumPy数组作为其基本输入和输出。它还提供了一些例程,使开发者可以用很少的几行代码在多维数组和矩阵上执行高级数学和统计功能。NumPy的核心功能是其 "ndarray",即n维数组数据结构。这些数组是类型化的,必须匹配数组中的所有元素为同一类型。
# Python program using NumPy for some basic mathematical operations
import numpy as np
# Creating two arrays of rank 2
x = np.array([[5, 3], [7, 9]])
y = np.array([[5, 6], [4, 5]])
# Creating two arrays of rank 1
v = np.array([7, 5])
w = np.array([2, 3])
# Inner product of vectors
print(np.dot(v, w), "\n")
# Matrix and Vector product
print(np.dot(x, v), "\n")
# Matrix and matrix product
print(np.dot(x, y))
复制代码
输出
29
[50 94]
[[37 45]
[71 87]]
复制代码
Scipy
Scipy既是一个流行的用于科学计算和分析的Python函数库,也是众多工具、框架和更多专业库的一个总括组织。它的功能是为了利用NumPy的核心功能而编写的。如果没有NumPy,我们无法以任何有意义的方式使用SciPy。
我们可以执行许多任务,如积分、插值、傅里叶变换、信号处理、线性代数、统计、多维图像处理等。它通过使用高级函数降低了代码的复杂性,隐藏了执行这些复杂函数的实施层面的细节。
# Python script using Scipy for calculating the determinant
# import numpy library
import numpy as np
A = np.array([[1,2,3],[4,5,6],[7,8,8]])
# importing linalg function from scipy
from scipy import linalg
# Compute the determinant of a matrix
linalg.det(A)
复制代码
输出
3.0
复制代码
Matpoltlib
Matplotlib是一个非常流行的Python库,用于数据的图形表示。它总是程序员将数据中的模式可视化的第一选择。pyplot模块使程序员更容易绘图,提供控制各种参数的功能,如格式化风格、处理多个数字和文本、对数和其他非线性轴等。
Matplotlib甚至允许你自定义你创建的各种图表的布局和颜色。它为数据可视化提供了各种图形和图表,如线图、流图、条形图、饼图、散点图等。它还可以用于绘制来自数据库或网络的数据,或通过解析日志文件提取的数据。
# Python script using Matplotib for forming a number and cube root relation
import matplotlib.pyplot as plt
# Plot the data
plt.plot([1, 2, 3, 4], [1, 8, 27, 64])
# Add Labels in graph
plt.ylabel('Numbers')
plt.xlabel('Cube ROOT')
# Show the plot
plt.show()
复制代码
输出
潘达
Pandas是一个流行的Python库,用于数据分析。它专门用于准备和提取数据。它为数据分析提供了各种各样的工具。Numpy包被用在它的核心中。潘达斯的关键数据结构被称为DataFrame,它由一些行和列组成。Pandas的数据结构包括数据框架、系列和面板。但是数据框架由于其提供的高功能和灵活性而被广泛使用。它提供了许多内置的方法来分组、组合和过滤数据。
# Python program using Pandas for arranging a given set of data into a table
# importing pandas as pd
import pandas as pd
data = {"country": ["Brazil", "Russia", "India", "China", "South Africa"],
"capital": ["Brasilia", "Moscow", "New Dehli", "Beijing", "Pretoria"],
"area": [8.516, 17.10, 3.286, 9.597, 1.221],
"population": [200.4, 143.5, 1252, 1357, 52.98] }
data_table = pd.DataFrame(data)
print(data_table)
复制代码
输出
country capital area population
0 Brazil Brasilia 8.516 200.40
1 Russia Moscow 17.100 143.50
2 India New Dehli 3.286 1252.00
3 China Beijing 9.597 1357.00
4 South Africa Pretoria 1.221 52.98
复制代码
在Python中,有许多用于数据科学和分析的库,本文没有涉及,但我将在下面提供一些更多的信息和链接作为额外的资源。