求助:Pandas调用sort_values触发Level_Values KeyError的原因
Pandas sort_values触发Level_Values KeyError的原因及解决办法
你的问题和重复日期无关,核心是**sort_values的by参数传值错误**。
你当前代码里写的是:
df.sort_values(by=df['new date'], inplace=True, ascending=False)
这里把整列Series对象传给了by参数,但sort_values的by参数需要的是列名字符串(或列名列表),而非实际的列数据。当你传入df['new date']时,Pandas会误将这个Series的索引当作要排序的层级(Level)去查找,而你的DataFrame并没有对应层级,因此触发了Level_Values KeyError。
修正方法很简单,把by参数改成列名字符串即可:
df.sort_values(by='new date', inplace=True, ascending=False)
另外补充:列里的重复日期不会引发这类错误,只会让相同日期的行在排序后聚集在一起,完全不影响排序功能的正常执行。
内容的提问来源于stack exchange,提问作者user19853376
相关产品推荐
相关产品推荐

