Pandas什么意思

Pandas什么意思,第1张

Pandas什么意思 Python的Numpy、Scipy、Pandas模块有什么区别?

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,一个用于所有图像推文,一个用于所有无图像推文。

我们将使用布尔过滤器进行此 *** 作: 现在,我们已经创建了那些,我们可以使用内置的数学函数.mean()来快速比较每个Dataframe中的推文。

我们将使用print()语句使结果更易于阅读。

我们还需要记住使用str()来将.mean()计算结果转换为字符串,以便可以在我们的打印语句中使用它: 根据这些结果,似乎包括图像可能会促进AAA教育的更多社群媒体的交互。

有图片的推文的平均赞和转发次数是没有图片的推文的三倍。

添加条件更复杂的pandas专栏 这种方法效果很好,但是如果我们想添加一个条件更复杂的新列(超出True和False的条件)怎么办? 例如,为了更深入地研究这个问题,我们可能要创建一些交互性“层”,并评估到达每个层的推文所占的百分比。

为了简单起见,让我们使用Likes来衡量交互性,并将tweet分为四个层次: 1)tier_4 -2个或更少的喜欢 2)tier_3 — 3-9个赞 3)tier_2 — 10-15个赞 4)tier_1 — 16个赞 为此,我们可以使用称为的函数np.select()。

我们给它两个参数:一个条件列表,以及一个我们想要分配给新列中每一行的值的对应列表。

这意味着顺序很重要:如果conditions满足列表中的第一个条件,则列表中的第一个值values将分配给该行的新列。

大数据分析使用numpy在pandas dataframe上添加列https://www.aaa-cg.com.cn/data/2376.html如果满足第二个条件,则将分配第二个值,等等。

让我们看一下它在Python代码中的外观: 太棒了!我们创建了另一个新列,该列根据我们的(虽然有些武断)层排名系统对每个tweet进行了分类。

现在,我们可以使用它来回答有关我们的数据集的更多问题。

例如:1级和4级推文中有多少百分比具有图像? 在这里,我们可以看到尽管图像似乎有所帮助,但它们似乎并不是成功所必需的。

尽管这是一个非常肤浅的分析,但我们已经在这里实现了我们的真正目标:根据有关现有列中值的条件语句向pandas Dataframes添加列。

当然,这是可以以多种方式完成的任务。

np.where()而np.select()只是许多潜在的两种方法。

https://www.toutiao.com/i6846264263237960204/

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/4249964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-28
下一篇 2022-10-28

发表评论

登录后才能评论

评论列表(0条)

保存