Dataframe数据默认按索引排序,主要重排方法有:
1、 通过frame=frame.reindex([6,5,4,3,2,1,0]) 重排:
1
2
3
|
data_demo = pd.read_csv( 'dataset.csv' ) data_demo = data_demo.iloc[: 10 ,:] data_demo |
此时的数据为(这里仅展示部分数据):
我们按照第一种方法排序,结果如下:
1
2
|
data_demo_1 = data_demo.reindex([ 9 , 7 , 8 , 5 , 4 , 1 , 0 , 2 , 6 , 3 ]) data_demo_1 |
2、通过frame.sort_values(by=[‘height’],ascending=False):
按照height字段重排,默认按升序,需要降序时再加ascending=False
参数。
如果数据是字符,则是按照字符编码排序,看起来好像没有规律。如果想看一个汉字的编码,可以使用'xx'.encode()
的方法查看。
我们展示一下部分原数据:
我们的目标是把“值”那一列进行排序:
1
2
|
data_RF_pre_100 = data_RF.sort_values(by = [ '值' ],ascending = False ) data_RF_pre_100 |
展示排序后的结果:
3、 通过frame.sort_values(by=[‘A’,‘B’],ascending=[False,True]):
先按A列再按B列排序,其中A列降序,B列升序
原数据:
上面的排序方式:
1
2
|
data_demo_3 = data_demo.sort_values(by = [ '辛烷值RON' , '硫含量,μg/g' ],ascending = [ False , True ]) data_demo_3 |
4、一些其他的细节问题:
排序完如果还想调整索引号为升序,则增加这样一句话:
1
|
frame.reset_index(drop = True ) |
如果不想删除原索引号,只增加一列新索引,则用:
1
|
frame.reset_index() |
在任何时候,如果想恢复原来的索引排序,则用:
1
|
frame.sord_index() |
列的重新排序,即是数据的重新选择:
1
|
frame[[ 'A' , 'B' , 'C' , 'D' ]] |
总结
到此这篇关于Python中Dataframe数据排序方法的文章就介绍到这了,更多相关Python中Dataframe数据排序内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/wzk4869/article/details/126370595