ValueError:index必须单调递增或递减,包括index,column,ffill

时间:2017-07-02 08:32:55

标签: python dataframe valueerror

我使用的pandas版本是'0.20.1',python 3

虽然有两个问题: question1question2  我被问到同样的错误,而我发现这两个问题跟我的情况不一样。

数据来源于“用于数据分析的Python”一书,第123-124页。 当我运行以下代码时,

frame = DataFrame(np.arange(9).reshape((3, 3)), index=['a', 'c', 'd'],
                  columns=['Ohio', 'Texas', 'California'])
states = ['Texas', 'Utah', 'California']
frame.reindex(index=['a', 'b', 'c', 'd'], method='ffill',columns=states)

报告错误

ValueError: index must be monotonic increasing or decreasing

虽然我尝试了两个表达式,但它们运行成功:

frame.reindex(index=['a', 'b', 'c', 'd'], columns=states)

frame.reindex(index=['a', 'b', 'c', 'd'], method='ffill')

***********************更新***************

我试过这段代码,

frame3=frame.reindex(index=['a', 'b', 'c', 'd'], method='ffill').reindex(columns=states)

然后它返回与本书相同的结果。

Out[92]:
Texas Utah California
a 1 NaN 2
b 1 NaN 2
c 4 NaN 5
d 7 NaN 8

1 个答案:

答案 0 :(得分:0)

因为列也是重新索引的,而不是单调增加或减少。