pythondataframe排序后行属性如何按0开始排_python的DataFrame排序问题

一、定义数据框DataFrame

import pandas

frame = pandas.DataFrame({"a":[9,2,5,1],"b":[4,7,-3,2],"c":[6,5,8,3]})

frame

Out[53]:

a b c

0 9 4 6

1 2 7 5

2 5 -3 8

3 1 2 3

二、按列对DataFrame排序

1.  按1列排序

(1)升序

frame.sort(columns = ['a'],axis = 0,ascending = True)

Out[62]:

a b c

3 1 2 3

1 2 7 5

2 5 -3 8

0 9 4 6

frame.sort_index(axis = 0,ascending = True,by = 'a')

Out[63]:

a b c

3 1 2 3

1 2 7 5

2 5 -3 8

0 9 4 6

frame.sort_values(by = 'a',axis = 0,ascending = True)

Out[65]:

a b c

3 1 2 3

1 2 7 5

2 5 -3 8

0 9 4 6

(2)降序

frame.sort(columns = ['a'],axis = 0,ascending = False)

Out[67]:

a b c

0 9 4 6

2 5 -3 8

1 2 7 5

3 1 2 3

frame.sort_index(axis = 0,ascending = False,by = 'a')

Out[68]:

a b c

0 9 4 6

2 5 -3 8

1 2 7 5

3 1 2 3

frame.sort_values(by = 'a',axis = 0,ascending = False)Out[69]:

a b c

0 9 4 6

2 5 -3 8

1 2 7 5

3 1 2 32.  按多列排序frame = pandas.DataFrame({"a":[9,2,5,1,0,7],"b":[4,7,-3,2,2,2],"c":[6,5,8,3,4,4]})

frame

Out[73]:

a b c

0 9 4 6

1 2 7 5

2 5 -3 8

3 1 2 3

4 0 2 4

5 7 2 4

(1)升序

frame.sort(columns = ['b','c','a'],axis = 0,ascending = True)

Out[74]:

a b c

2 5 -3 8

3 1 2 3

4 0 2 4

5 7 2 4

0 9 4 6

1 2 7 5

frame.sort_index(axis = 0,ascending = True,by = ['b','c','a'])

Out[75]:

a b c

2 5 -3 8

3 1 2 3

4 0 2 4

5 7 2 4

0 9 4 6

1 2 7 5

frame.sort_values(by = ['b','c','a'],axis = 0,ascending = True)

Out[76]:

a b c

2 5 -3 8

3 1 2 3

4 0 2 4

5 7 2 4

0 9 4 6

1 2 7 5

(2)降序

rame.sort(columns = ['b','c','a'],axis = 0,ascending = False)

Out[77]:

a b c

1 2 7 5

0 9 4 6

5 7 2 4

4 0 2 4

3 1 2 3

2 5 -3 8

frame.sort_index(axis = 0,ascending = False,by = ['b','c','a'])

Out[78]:

a b c

1 2 7 5

0 9 4 6

5 7 2 4

4 0 2 4

3 1 2 3

2 5 -3 8

frame.sort_values(by = ['b','c','a'],axis = 0,ascending = False)

Out[79]:

a b c

1 2 7 5

0 9 4 6

5 7 2 4

4 0 2 4

3 1 2 3

2 5 -3 8

三、按行对DataFrame排序

data = {"b":[4,7,-3,2,2,2],"a":[9,2,5,1,0,7],"c":[6,5,8,3,4,4]}

frame = pandas.DataFrame(data,columns = ['b','a','c'])

frame

Out[90]:

b a c

0 4 9 6

1 7 2 5

2 -3 5 8

3 2 1 3

4 2 0 4

5 2 7 4

1. 按行升序

frame.sort_index(axis = 1,ascending = True)

Out[91]:

a b c

0 9 4 6

1 2 7 5

2 5 -3 8

3 1 2 3

4 0 2 4

5 7 2 4

2. 按行降序

frame.sort_index(axis = 1,ascending = False)

Out[97]:

c b a

0 6 4 9

1 5 7 2

2 8 -3 5

3 3 2 1

4 4 2 0

5 4 2 7

相关链接:

http://blog..net/qq_22238533/article/details/72395564

http://bluewhale.cc/2016-08-06/use-pandas-filter-and-sort.html

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_index.html#pandas.DataFrame.sort_index

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html#pandas.DataFrame.sort_values

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python中的DataFrame可以使用sort_values()方法进行排序。该方法可以按照指定的列或多列进行排序,也可以指定升序或降序列。例如,以下代码将按照“age”列升序DataFrame: ```python import pandas as pd df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 20, 30, 35], 'score': [80, 90, 70, 85]}) df_sorted = df.sort_values(by='age', ascending=True) print(df_sorted) ``` 输出结果为: ``` name age score 1 Bob 20 90 Alice 25 80 2 Charlie 30 70 3 David 35 85 ``` 以上代码中,sort_values()方法的by参数指定按照“age”列排序,ascending参数指定升序列。如果需要按照多列排序,可以将by参数设置为一个列名列表,例如: ```python df_sorted = df.sort_values(by=['age', 'score'], ascending=[True, False]) ``` 以上代码将先按照“age”列升序列,然后在“age”列相同的情况下按照“score”列降序列。 ### 回答2: Python中的pandas库提供了一种名为DataFrame的数据类型,它是一种二维表格形式的数据结构,可以方便地进行数据分析和数据处理操作。在DataFrame中,可以使用sort_values()方法按指定的字段进行排序。 sort_values()方法可以按照单个或多个字段进行排序,可以指定排序方式(升序或降序),还可以通过na_position参数设置空值的位置。 下面是使用sort_values()方法进行排序的示例代码: ```python import pandas as pd # 创建DataFrame对象 df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 30, 35, 20], 'height': [170, 175, 180, 165]}) # 按年龄字段升序排序 df = df.sort_values(by='age') # 按身高字段降序排序 df = df.sort_values(by='height', ascending=False) # 按多个字段排序 df = df.sort_values(by=['age', 'height']) ``` 在以上示例中,sort_values()方法的参数by指定了按哪个字段进行排序,ascending参数指定了排序方式,True为升序,False为降序,na_position参数指定了空值的位置,'first'为放在前面,'last'为放在后面。 除了sort_values()方法外,还有其他一些方法可以进行排序,如nsmallest()和nlargest(),它们可以按指定的字段返回前n条或后n条记录。 总之,Python中的pandas库提供了丰富的数据操作方法,对于DataFrame排序也是如此,其中sort_values()方法是一种常用的排序方法,可以满足大部分的排序需求。 ### 回答3: Python的pandas库中的DataFrame排序功能可以用于将表格中的数据按照特定的列或行进行排序,具有十分广泛的应用场景。DataFrame排序的方法主要有以下几种: 1. sort_values()函数 sort_values()函数是将DataFrame按照指定的列或行进行升序或降序列的函数。默认情况下,sort_values()函数按照升序列。 例如,我们可以使用以下语句按照‘score’这一列中的分数从小到大对DataFrame进行排序: df.sort_values(by='score') 如果要按照多个列进行排序,则需要在by参数中传入一个列表: df.sort_values(by=['name', 'score']) 2. sort_index()函数 sort_index()函数是将DataFrame按照索引进行排序的函数。默认情况下,sort_index()函数按照升序列。 例如,我们可以使用以下语句按照索引从小到大对DataFrame进行排序: df.sort_index() 如果要按照降序列,可以通过ascending参数来控制: df.sort_index(ascending=False) 3. nlargest()和nsmallest()函数 nlargest()和nsmallest()函数是用来获取DataFrame中最大或最小的值所在行的函数。这两个函数的参数分别为获取的行数和要获取最大或最小值的列。 例如,以下语句可以获取‘scores’列中最大的5个值所在行: df.nlargest(5, 'scores') 4. rank()函数 rank()函数是用来获取DataFrame中每一行或每一列的名的函数,名默认按照升序列。 例如,以下语句可以获取DataFrame中各行的‘scores’列的名: df['scores'].rank() 以上是Python DataFrame排序的一些常见的方法,可以根据实际需求进行选择和应用。需要注意的是,在使用这些函数进行排序时,都可以通过参数来进行升降序的控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值