python中的reindex函数是啥,python的index函数
参考链接:https://只熊猫。pydata。org/pandas-docs/stable/reference/API/pandas .数据框。重新索引。html #熊猫DataFrame.reindex
DataFrame.reindex(标签=无,索引=无,列=无,轴=无,方法=无,副本=真,级别=无,填充值=南,限制=无,容差=无
使用可选填充逻辑使系列/数据框架符合新索引。
将那/南放在先前索引中没有值的位置。除非新索引与当前索引相等,并且复制=假,否则会产生一个新对象。
应使用关键字指定axesarray的参数类似关键字,可选的新标签/索引,以符合.最好是一个索引对象,以避免重复数据方法{无,填充/ b填充,填充/ f填充,最近 }用于填充重新索引的数据帧中的孔洞的方法。请注意:这只适用于指数单调递增/递减的数据帧/序列。
无(默认):不填充间隙
填充/填充:将最后一个有效观察值向前传播到下一个有效观察值。
回填/填充:使用下一个有效观测值来填充间隙。
最近的:使用最近的有效观测值来填充gap.copybool,默认为true返回一个新对象,即使传递的索引是相同的levelint。或是跨级别广播,匹配传递的多指数级别上的索引值fill_valuescalar,默认np .用于缺失值的NaNValue .默认值为南,但可以是任何"兼容"值limitint,默认无向前或向后填充的最大连续元素数公差选项不精确匹配的原始标签和新标签之间的最大距离。匹配位置处的索引值最符合等式ABS(索引[索引器]-目标)=公差.
公差可以是一个标量值,它对所有值应用相同的公差,也可以是类似列表的值,它对每个元素应用可变的公差。类列表包括列表、元组、数组、序列,并且必须与索引大小相同,其数据类型必须与索引类型完全匹配。
数据框。重新索引支持两种调用约定
(索引=索引_标签,列=列_标签,)
(标签,轴={ 索引,列 },)
我们强烈建议使用关键词来阐明你的意图。
通过查寻了解,这个主要是外部定义一个索引,返回一个新的df对象,对于新的索引的缺省项,可以设置一些默认值。
可以通过两种方式传参,推荐使用第一种。
参数列级别在我调试的版本中已经改为水平
书中示例代码,该方法主要用于重设索引,并且为新的指数中的内容添加默认值。
In [123]: index=[Firefox , Chrome , Safari , IE10 , Konqueror]
.df=pd .DataFrame({http_status: [200,200,404,404,301],
.响应时间:[0.04,0.02,0.07,0.08,1.0]},
.索引=索引)
在[124]: df
Out[124]:
http _状态响应时间
火狐200 0.04
铬200 0.02
Safari 404 0.07
IE10 404 0.08
Konqueror 301 1.00
在[125]:
定义了一个df对象,定义了一个指数
后面将定义一个新的指数对象,另外使用默认参数
In [130]: new_index=[Safari , Iceweasel , Comodo Dragon , IE10 ,
. Chrome]
在[131]: df中
Out[131]:
http _状态响应时间
火狐200 0.04
铬200 0.02
Safari 404 0.07
IE10 404 0.08
Konqueror 301 1.00
在[132]:df。reindex(index=new _ index)
Out[132]:
http _状态响应时间
Safari 404.0 0.07
冰鼬楠楠
魔岛龙楠楠
IE10 404.0 0.08
铬合金200.0 0.02
生成了一个新的df对象,添加的指数
我们也可以通过填充值的选项来设置默认值
在[133]:df。reindex(index=new _ index,fill_value=missing )
Out[133]:
http _状态响应时间
Safari 404 0.07
冰鼬失踪了
魔岛龙失踪失踪
IE10 404 0.08
铬200 0.02
也可以通过下面两种方式重设列的索引。
在[134]:df。reindex(columns=[ http _ status , user_agent])
Out[134]:
http _状态用户代理
火狐200南
铬200纳米
野生动物园404南
IE10 404 NaN
Konqueror 301 NaN
在[135]:df。reindex([ http _ status , user_agent],axis=columns )
Out[135]:
http _状态用户代理
火狐200南
铬200纳米
野生动物园404南
IE10 404 NaN
Konqueror 301 NaN
为了进一步说明重新索引的使用中,针对的有序索引,使用卫理公会教徒的参数,填写默认值。
首先创建一个时间索引的df对象
在[137]中:日期索引=PD。日期范围( 2010年年一月一日,periods=6,freq=D )
.df2=pd .DataFrame({prices: [100,101,np.nan,100,89,88]},
.索引=日期索引)
.
在[138]中:df2
Out[138]:
价格
2010-01-01 100.0
2010-01-02 101.0
南
2010-01-04 100.0
2010-01-05 89.0
2010-01-06 88.0
然后通过重新索引替换成一个时间周期更长的,并使用方法参数。
在[139]中:日期索引2=PD。date _ range( 12/29/2009 ,periods=10,freq=D )
在[140]:df2。reindex(index=date _ index 2)
Out[140]:
价格
2009年12月29日南京
南京
2009年12月31日南京
2010-01-01 100.0
2010-01-02 101.0
南
2010-01-04 100.0
2010-01-05 89.0
2010-01-06 88.0
南
在[141]:df2。reindex(index=date _ index 2,method=bfill )
Out[141]:
价格
2009-12-29 100.0
2009-12-30 100.0
2009-12-31 100.0
2010-01-01 100.0
2010-01-02 101.0
南
2010-01-04 100.0
2010-01-05 89.0
2010-01-06 88.0
南
在[142]:
从输出可以看出,默认的还是圆盘烤饼参数,使用了后面数据为默认数据,新的索引已经添加了数据,但老的索引内的数据并没有修改。
如果需要更改,使用菲尔娜的方法。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。