5种方式教你用Python(pandas)数据方法总结!
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了5种方式教你用Python(pandas)数据方法总结!,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2866字,纯文字阅读大概需要5分钟。
内容图文
![5种方式教你用Python(pandas)数据方法总结!](/upload/InfoBanner/zyjiaocheng/711/3b0de74362e141979f8c0d1ac0e3ceba.jpg)
前言:
今天为大家带来的内容是5种方式教你用Python(pandas)数据方法总结!觉得有用或者喜欢的话,不忘关注收藏才不会迷路哦!
提示:Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。
在数据分析中不可避免的涉及到对数据的遍历查询和处理,比如我们需要将dataframe两列数据两两相除,并将结果存储于一个新的列表中。本文通过该例程介绍对pandas数据遍历的几种方法。
for..in循环迭代方式
for语句是Python内置的迭代器工具,用于从可迭代容器对象(如列表、元组、字典、集合、文件等)中逐个读取元素,直到容器中没有更多元素为止,工具和对象之间只要遵循可迭代协议即可进行迭代操作。
具体的迭代的过程:可迭代对象通过__iter__方法返回迭代器,迭代器具有__next__方法,for循环不断地调用__next__方法,每次按序返回迭代器中的一个值,直到迭代到最后,没有更多元素时抛出异常StopIteration(python自动处理异常)。迭代的优点是无需把所有元素一次加载到内存中,可以在调用next方法时逐个返回元素,避免出现内存空间不够的情况。
实现代码如下:
关于上述代码中range的实现方法,我们也可根据迭代器协议自实现相同功能的迭代器(自带iter方法和next方法)应用在for循环中,代码如下:
我们也可以通过列表解析的方式用更少的代码实现数据处理功能:
disftance_list = [df.iloc[i][‘high']/df.iloc[i][‘open'] for i in range(0,len(df))]
iterrows()生成器方式
iterrows是对dataframe行进行迭代的一个生成器,它返回每行的索引及包含行本身的对象。所谓生成器其实是一种特殊的迭代器,内部支持了迭代器协议。Python中提供生成器函数和生成器表达式两种方式实现生成器,每次请求返回一个结果,不需要一次性构建一个结果列表,节省了内存空间。
生成器函数:编写为常规的def语句,但是使用yield语句一次返回一个结果,在每个结果之间挂起和继续它们的状态。
生成器表达式:类似列表解析,按需产生结果的一个对象。
print (x**2 for x in range(5)) print list(x**2 for x in range(5)) <generator object <genexpr> at 0xb3d31fa4> [0, 1, 4, 9, 16]
iterrows()实现代码如下:
iterrows代码如下,yield语句挂起该函数并向调用者发送回一组值:
apply()方法循环方式
apply()方法可将函数应用于dataframe特定行或列。函数由lambda方式在代码中内嵌实现,lambda函数的末尾包含axis参数,用来告知Pandas将函数运用于行(axis = 1)或者列(axis = 0)。
实现代码如下:
df.apply(lambda row: row[‘high']/row[‘open'], axis =1)
Pandas series 的矢量化方式
Pandas的DataFrame、series基础单元数据结构基于链表,因此可将函数在整个链表上进行矢量化操作,而不用按顺序执行每个值。Pandas包括了非常丰富的矢量化函数库,我们可把整个series(列)作为参数传递,对整个链表进行计算。
实现代码如下:
dftest4['rate'] = dftest4['high']/dftest4['open']
Numpy arrays的矢量化方式
由于函数的矢量化实现中只使用了series的数值,因此可使用values 方法将链表从Pandas series转换为NumPy arrays,把NumPy array作为参数传递,对整个链表进行计算。
实现代码如下:
dftest5['rate'] = dftest5['high'].values/dftest5['open'].values
以上就是全部内容啦!
最后,小编想说一句话:我是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以加群:877562786
内容总结
以上是互联网集市为您收集整理的5种方式教你用Python(pandas)数据方法总结!全部内容,希望文章能够帮你解决5种方式教你用Python(pandas)数据方法总结!所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。