【发布时间】: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 或许值得回答。