sort_value在数据框中的“名称”列而不是“数字”列上工作

时间:2019-06-01 21:17:44

标签: python pandas columnsorting

当尝试按“数字”列对数据框进行排序时,出现错误代码

  

1708#检查重复项

     

KeyError:'数字'

数据框看起来像这样

Number Name City Sex

3 Jay A M

1 Marry A F

5 John B M

数字为int64,其余为对象

df.sort_values(by=['Number']) --> error

df.sort_values(by=['Name']) --> works

df.sort_values(by=['City']) --> error

df.sort_values(by=['Sex']) --> works

我要找的是这样的东西

Number Name City Sex

  1 Marry A F

  3 Jay A M

  5 John B M

1 个答案:

答案 0 :(得分:0)

我尝试制作一个像您一样的DataFrame并对其进行排序,并且它可以按Number列进行排序:

df=pd.DataFrame({'Number':[3,1,5],
                'Name':['Jay','Marry','John'],
                'City':['A','A','B'],
                'Sex':['M','F','M']})
print(df)
print(df.Number.dtype)
df=df.sort_values(by=['Number'])
print(df)

输出:

   Number   Name City Sex
0       3    Jay    A   M
1       1  Marry    A   F
2       5   John    B   M

int64

   Number   Name City Sex
1       1  Marry    A   F
0       3    Jay    A   M
2       5   John    B   M

列中可能有空白,请在排序之前尝试以下操作:

df.columns=df.columns.str.strip()