【问题标题】:KeyError in Pandas sort_valuesPandas sort_values中的KeyError
【发布时间】:2019-07-23 17:50:17
【问题描述】:

我正在尝试按特定列对数据框进行排序:“Lat”。然而,虽然当我打印出列名时,“Lat”清楚地显示出来,但当我尝试将它用作 sort_values 函数中的“by”参数时,我得到了一个 KeyError。不管我使用哪个列名,无论如何我都会得到一个关键错误。

我尝试过使用不同的列,在原地运行,去掉列名,似乎没有任何效果

print(lights_df.columns.tolist())
lights_by_lat = lights_df.sort_values(axis = 'columns', by = "Lat", kind 
= "mergesort")

输出:

['the_geom', 'OBJECTID', 'TYPE', 'Lat', 'Long']

KeyError: '纬度'

^尝试排序的输出

【问题讨论】:

  • 想要axis='index' (或者因为它是默认设置而忽略它)
  • 这里的混淆是因为对于排序,axis 指定了要排序的轴。您正在使用列来更改行的顺序,因此需要 axis='index'。有一个更好的minimal reproducible example 或许值得回答。

标签: python pandas


【解决方案1】:

您所要做的就是删除轴参数:

lights_by_lat = lights_df.sort_values(by = "Lat", kind = "mergesort")

你应该很好。

【讨论】:

  • 请参阅@ALollz 对 OP 帖子的评论以获取解释
猜你喜欢
  • 2020-07-10
  • 2020-04-30
  • 2020-05-06
  • 1970-01-01
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 2018-05-16
相关资源
最近更新 更多