Python用于数据分析:Chp 2第38页“;提案“累积金额”;错误

Python用于数据分析:Chp 2第38页“;提案“累积金额”;错误,python,cumsum,prop,Python,Cumsum,Prop,我正在写这本书,当我运行“Prop_cumsum”时,一直运行错误 >prop\u cumsum=df.sort\u索引(by='prop',升序=False).prop.cumsum() /用户/anaconda/lib/python3.5/site packages/ipykernel/main.py:1: FutureWarning:不推荐使用按参数排序的索引,请使用 .sort_值(按=…)如果name=='main': ---------------------------------

我正在写这本书,当我运行“Prop_cumsum”时,一直运行错误

>prop\u cumsum=df.sort\u索引(by='prop',升序=False).prop.cumsum()

/用户/anaconda/lib/python3.5/site packages/ipykernel/main.py:1: FutureWarning:不推荐使用按参数排序的索引,请使用 .sort_值(按=…)如果name=='main': ---------------------------------------------------------------------------KeyError回溯(最近的呼叫 最后) /中的Users/anaconda/lib/python3.5/site-packages/pandas/index/base.py 获取位置(自身、键、方法、公差)1944尝试: ->1945返回自。引擎。获取位置(钥匙)1946,钥匙错误除外:

pandas.index.IndexEngine.get_loc中的pandas/index.pyx (熊猫/索引c:4154)()

pandas.index.IndexEngine.get_loc中的pandas/index.pyx (熊猫/索引c:4018)()

pandas.hashtable.PyObjectHashTable.get_项中的pandas/hashtable.pyx (熊猫/哈希表c:12368)()

pandas.hashtable.PyObjectHashTable.get_项中的pandas/hashtable.pyx (熊猫/哈希表c:12322)()

KeyError:“道具”

在处理上述异常期间,发生了另一个异常:

KeyError回溯(最近的呼叫 最后)在() ---->1 prop\u cumsum=df.sort\u index(by='prop',升序=False).prop.cumsum()

/用户/anaconda/lib/python3.5/site-packages/pandas/core/frame.py in 排序索引(自身、轴、级别、升序、在位、种类、位置、, 排序剩余,按)3237提升值错误(“无法 同时按排序和级别“3238返回” self.sort_值(按,轴=轴,升序=升序, ->3239就地=就地)3240 3241轴=自身

/用户/anaconda/lib/python3.5/site-packages/pandas/core/frame.py in 对值进行排序(自、按、轴、升序、就地、种类、无位置)
31493150by=by[0] ->3151 k=self[by]。如果k.ndim==2,则值为3152:3153

/用户/anaconda/lib/python3.5/site-packages/pandas/core/frame.py in getitem(self,key)1995返回self.\u getitem\u多级(key)1996其他: ->1997返回self.\u getitem_列(键)1998 1999 def_getitem_列(self,键):

/用户/anaconda/lib/python3.5/site-packages/pandas/core/frame.py in _getitem_column(self,key)2002#如果self.columns.u是唯一的,则获取column 2003: ->2004返回自我。_获取_项目_缓存(键)2005 2006#重复列和可能的降维

/中的Users/anaconda/lib/python3.5/site-packages/pandas/core/generic.py _get_item_cache(self,item)1348 res=cache。如果res为None,则get(item)1349: ->1350值=自我。\数据。获取(项目)1351 res=自我。\框\u项目\u值(项目,值)1352
缓存[项目]=res

/用户/anaconda/lib/python3.5/site-packages/pandas/core/internals.py 在get(self、item、fastpath)3288 3289中,如果没有 isnull(项目): ->3290 loc=自身项目。获取_loc(项目)3291其他:3292索引器= np.arange(len(self.items))[isnull(self.items)]

/中的Users/anaconda/lib/python3.5/site-packages/pandas/index/base.py get_loc(自身、键、方法、公差)1945返回 除钥匙错误外,自发动机获取钥匙位置(钥匙)1946: ->1947返回self.\u引擎。获取loc(self.\u可能\u铸造\u索引器(键))1948 1949
索引器=self.get\u索引器([key],方法=method,容差=tolerance)

pandas.index.IndexEngine.get_loc中的pandas/index.pyx (熊猫/索引c:4154)()

pandas.index.IndexEngine.get_loc中的pandas/index.pyx (熊猫/索引c:4018)()

pandas.hashtable.PyObjectHashTable.get_项中的pandas/hashtable.pyx (熊猫/哈希表c:12368)()

pandas.hashtable.PyObjectHashTable.get_项中的pandas/hashtable.pyx (熊猫/哈希表c:12322)()

KeyError:“道具”


您似乎调用了
sort\u index
,而不是
sort\u值
。在这样的上下文中,
by='prop'
没有意义(您可以按索引排序索引,而不是按数据框中的列排序)


另外,在我早期发行的第二版中,它出现在第43页的顶部。但是,由于这是早期版本,页码可能是不固定的。

请添加更多代码来详细说明您的问题。这是我尝试的代码“prop_cumsum=df.sort_index(by='prop',sunsing=False)。prop.cumsum()”这在Python for Data Analysis Book的第38页中找到。第32-38页的命令(包括您的命令)中没有错误。尝试一步一步地重现第32-38页上的命令。如果您的pandas版本比作者使用的版本更新,请阅读冲突函数的帮助并更改参数名称(在我的示例中,pivot_table函数中存在冲突(参数以这种方式重命名:行->索引,列->列))。我的pandas版本是0.18.1。是的,我从第32-38页开始做了所有事情,没有任何问题,并且更改了(行到索引,列到列),但是我无法通过上面的命令解决这个问题。