Numpy: 基础的数学计算模块 。以矩阵为主,纯数学 。
SciPy: 基于Numpy 。提供方法(函数库)直接计算结果 。封装了一些高阶抽象和物理模型 。比方说做个傅立叶变换 。这是纯数学的 。用Numpy;做个滤波器 。这属于信号处理模型了 。在Scipy里找 。
Pandas: 提供了一套名为DataFrame的数据结构 。适合统计分析中的表结构,在上层做数据分析,
更简洁的说:
NumPy:N维数组容器
SciPy:科学计算函数库
Pandas:表格容器
非数学研究,建议直接入手pandas,包含基础的Numpy方法
Python数据分析学习路线图
文章插图
Numpy:
来存储和处理大型矩阵 。比Python自身的嵌套列表(nested list structure)结构要高效的多 。本身是由C语言开发 。这个是很基础的扩展 。其余的扩展都是以此为基础 。数据结构为ndarray,一般有三种方式来创建 。
Pandas:
基于NumPy 的一种工具 。该工具是为了解决数据分析任务而创建的 。Pandas 纳入了大量库和一些标准的数据模型 。提供了高效地操作大型数据集所需的工具 。最具有统计意味的工具包 。某些方面优于R软件 。数据结构有一维的Series 。二维的DataFrame(类似于Excel或者SQL中的表 。如果深入学习 。会发现Pandas和SQL相似的地方很多 。例如merge函数) 。三维的Panel(Pan(el) + da(ta) + s 。知道名字的由来了吧) 。
学习Pandas你要掌握的是:1.汇总和计算描述统计 。处理缺失数据。层次化索引2.清理、转换、合并、重塑、GroupBy技术3.日期和时间数据类型及工具(日期处理方便地飞起)
Scipy:
方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等 。基本可以代替Matlab 。但是使用的话和数据处理的关系不大 。数学系 。或者工程系相对用的多一些 。近期发现有个statsmodel可以补充scipy.stats 。时间序列支持完美
Python免费学习资源推荐
文章插图
其他观点:
当我们使用Python进行数据分析时 。有时可能需要根据DataFrame其他列中的值向pandas DataFrame添加一列 。
尽管这听起来很简单 。但是如果我们尝试使用if-else条件语句来做 。可能会变得有些复杂 。值得庆幸的是 。有一种使用numpy做到这一点的简单 。好方法!
要学习如何使用它 。我们来看一个特定的数据分析问题 。我们拥有4,000多个AAA教育推文的数据集 。附有图像的推文会获得更多的赞和转发吗?让我们做一些分析找出答案!
我们将从导入pandas和numpy开始 。并加载数据集以查看其外观 。
文章插图
我们可以看到我们的数据集包含有关每个推文的一些信息 。包括:
1)date —推文发布的日期
2)time —发推文的时间
3)tweet -该推文的实际文本
4)mentions -推文中提及的任何其他Twitter用户
5)photos —推文中包含的任何图像的URL
6)replies_count -在推文上的回复数量
7)retweets_count -推文的转发数
8)likes_count —在推文上的喜欢次数
我们还可以看到photos数据的格式有些奇怪 。
使用np.where()添加具有正确/错误条件的pandas列
对于我们的分析 。我们只想查看带有图像的推文是否获得更多的交互 。因此我们实际上不需要图像URL 。让我们尝试创建一个名为的新列hasimage 。该列将包含布尔值- True如果该tweet包含图像 。False则不包含图像 。
为此 。我们将使用numpy的内置where()函数 。此函数按顺序接受三个参数:我们要测试的条件 。条件为true时分配给新列的值以及条件为false时分配给新列的值 。看起来像这样:
文章插图
在我们的数据中 。我们可以看到没有图像的推文始终[]在该photos列中具有值 。我们可以使用信息并np.where()创建新列hasimage 。如下所示:
文章插图
在上方 。我们可以看到我们的新列已添加到我们的数据集 。并且已正确标记了tweet 。其中包括图像为True 。其他图像为False 。
现在我们有了hasimage专栏 。让我们快速制作几个新的DataFrame 。一个用于所有图像推文 。一个用于所有无图像推文 。我们将使用布尔过滤器进行此操作:
推荐阅读
- 猕猴桃可以泡酒吗有什么好处
- 近期可以去新疆旅游吗?要注意什么?
- 为什么Numpy不是标准库?
- 没熟的猕猴桃可以放冰箱吗
- “需要见识肮脏和腐烂,却依然保持内心的芬芳”这句话是什么意思啊?
- pandas和numpy有什么关系?
- 怎样改善头发分叉
- 感人小故事,最好是让人落泪的?
- Numpy为什么可以用C语言写?C语言是如何做到和python之间交互的?