ValueError:索引必须单调递增或递减 [英] ValueError: index must be monotonic increasing or decreasing

查看:34
本文介绍了ValueError:索引必须单调递增或递减的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

ser3 = Series(['USA','Mexico','Canada'],index = ['0','5','10'])

这里 ranger = range(15)

在 iPython 中使用正向填充时出错

I get an error while using Forward fill in iPython

ser3.reindex(ranger,method = 'ffill')

/Users/varun/anaconda/lib/python2.7/site-packages/pandas/core/index.pyc in _searchsorted_monotonic(self, label, side)
   2395             return len(self) - pos
   2396 
-> 2397         raise ValueError('index must be monotonic increasing or decreasing')
   2398 
   2399     def get_slice_bound(self, label, side, kind):

ValueError: index must be monotonic increasing or decreasing

推荐答案

正如大卫所说,这是因为索引是一个字符串.但是为什么你会得到索引不是单调错误"呢?答案是 - 要使重新索引方法起作用,您的索引必须按排序/单调/递增顺序排列.当你的索引是一个字符串时,它没有排序,正确的排序应该是:

As David said it was due to index being a string. But why were you getting the "Index not monotonic Error" and the answer to that is - For reindexing methods to work, your index must be in sorted/monotonic/increasing order. And when your index was a string, it wasn't sorted, correct sorting should have been:

ser3 = Series(['USA','Mexico','Canada'],index = ['0','10','5'])游侠 = 范围(15)

ser3 = Series(['USA','Mexico','Canada'],index = ['0','10','5']) ranger = range(15)

In [100]: ser3.reindex(ranger,method = 'ffill')
Out[100]: 
0     NaN
1     NaN
2     NaN
3     NaN
4     NaN
5     NaN
6     NaN
7     NaN
8     NaN
9     NaN
10    NaN
11    NaN
12    NaN
13    NaN
14    NaN
dtype: object

希望这会有所帮助并使重新索引更清晰!!

Hope this helps and makes reindex clearer !!

这篇关于ValueError:索引必须单调递增或递减的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆