【发布时间】:2017-12-05 17:41:21
【问题描述】:
我使用的 pandas 版本是 '0.20.1', python 3
虽然有两个问题: question1 , question2 被问到同样的错误,而我发现这两个问题跟我的情况不一样。
数据来自《用于数据分析的 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
【问题讨论】:
-
你用的是什么版本的熊猫?您的确切代码适用于 0.18.1
-
熊猫版本是'0.20.1',python 3
-
@DeepSpace,你的意思是“frame3=frame.reindex(index=['a', 'b', 'c', 'd'], method='ffill').reindex( columns=states)" 适合你吗?
-
是的,确实如此……
-
谢谢,也许以前的pandas版本可以像书一样运行代码。如果有人使用以前版本的 pandas,请告诉我,谢谢。
标签: python dataframe valueerror