python pandas dataframe 排序出错

止Oo水 2016-08-21 09:31:55
这是为什么啊,想要做个排序,弄了一早上了:
import pandas as pd
def sort(f):
f = f.sort_values(by = 'grade')
return f
if __name__ == "__main__":
roop = input()
f = pd.DataFrame()
while(roop!=0):
info = raw_input()
name,nid,grade = info.split(' ');
f = f.append({u'name':name,u'nid':nid,u'grade':grade}, ignore_index=True)
roop -= 1
res = sort(f)
输入:
3
a a 10
b b 5
c c 0
结果排序出来的结果不对:
In[258]: res
Out[258]:
grade name nid
2 0 c c
0 10 a a
1 5 b b
...全文
672 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
止Oo水 2016-08-28
  • 打赏
  • 举报
回复
引用 1 楼 sprawling 的回复:
应该是按字符类型排序的,你看看pandas的说明就知道了。
对的,应该先把他转换成int再进行排序,谢谢啦
sprawling 2016-08-21
  • 打赏
  • 举报
回复
应该是按字符类型排序的,你看看pandas的说明就知道了。

37,737

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧