当前位置: 首页 > 科技观察

秒懂!举例说明四个实用的Pandas函数!

时间:2023-03-19 19:38:15 科技观察

在使用Python进行机器学习或者日常数据处理中,Pandas是最常用的Python库之一。熟练掌握pandas是每个数据科学家的必备技能。本文将用代码+图片的方式详细讲解Pandas中的四个函数A实用函数!shift()假设我们有一组股票数据,需要移动所有行,或者获取前一天的股票价格,或者计算最近三天的平均股票价格。面对这样的需求,我们可以选择自己写一个函数,但是使用pandas中的shift()可能是最好的选择,它可以按照指定的方法移动数据!下面用代码来演示一下,首先导入相关库并创建示例DataFrameimportpandasasspdimportnumpyasnpdf=pd.DataFrame({'DATE':[1,2,3,4,5],'VOLUME':[100,200,300,400,500],'PRICE':[214,234,253,272,291]})现在当我们执行df.shift(1,fill_value=0)可以将数据下移一行,将空值填充为0现在,如果我们需要使用前一天的股价作为新的一列,我们可以使用下面的代码我们可以如下轻松计算出最新的三天平均股价,并且创建一个新的列来向前移动数据也很容易,使用-1来获取更多关于shift函数的信息。可以参考官方文档。总之,说到数据移动,就需要想到shift!value_counts()pandas中的value_counts()是用来统计不同数字或字符串在dataframe或series中出现的次数,并对结果对象进行降序排序或升序。下图很容易理解。下面我们使用代码示例,首先是Index对象,下面是Series对象,bin参数可以用来对结果进行区间划分。更多细节和参数设置,可以阅读pandas官方文档。mask()pandas中的mask方法是比较冷门的。它类似于np.where。它会判断cond的条件。如果cond为False,请保持原值。如果为True,则替换为other中的相应值。现在我们看下面这个DataFrame,这里要改变所有能被2整除的元素的符号,可以用mask下面是代码实现过程nlargest()很多时候我们会遇到需要找前面的Series或DataFrame3个或后5个值的情况,例如总分最高的3位同学,或者pandas中选举总票数nlargest()和nsmallest()得票总数最低的3位候选人,足以满足这种数据处理需求的最佳答案,以下是最大的三个从10个观察结果中提取的图表。下面是代码实现过程,但是如果出现相等的情况,那么可以使用first,last,all来保持。了解nlargest()方法的使用,nsmallest()方法很简单,本文不再赘述。有问题可以参考官方文档!