📌  相关文章
📜  如何对 Pandas DataFrame 进行排序?

📅  最后修改于: 2022-05-13 01:55:42.243000             🧑  作者: Mango

如何对 Pandas DataFrame 进行排序?

在本文中,我们将讨论如何对 Pandas Dataframe 进行排序。让我们创建一个数据框。

例子 :

Python3
# importing pandas library
import pandas as pd
  
# creating and initializing a nested list
age_list = [['Afghanistan', 1952, 8425333, 'Asia'],
            ['Australia', 1957, 9712569, 'Oceania'],
            ['Brazil', 1962, 76039390, 'Americas'],
            ['China', 1957, 637408000, 'Asia'],
            ['France', 1957, 44310863, 'Europe'],
            ['India', 1952, 3.72e+08, 'Asia'],
            ['United States', 1957, 171984000, 'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list, columns=['Country', 'Year',
                                     'Population', 'Continent'])
  
df


Python3
# importing pandas library
import pandas as pd
  
# creating and initializing a nested list 
age_list = [['Afghanistan',1952,8425333,'Asia'],
            ['Australia',1957,9712569,'Oceania'],
            ['Brazil',1962,76039390,'Americas'],
            ['China',1957,637408000,'Asia'],
            ['France',1957,44310863,'Europe'],
            ['India',1952,3.72e+08,'Asia'],
            ['United States',1957,171984000,'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list,columns=['Country','Year',
                                    'Population','Continent'])
  
# Sorting by column 'Country'
df.sort_values(by=['Country'])


Python3
# Sorting Pandas Dataframe in Descending Order
  
# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
age_list = [['Afghanistan', 1952, 8425333, 'Asia'],
            ['Australia', 1957, 9712569, 'Oceania'],
            ['Brazil', 1962, 76039390, 'Americas'],
            ['China', 1957, 637408000, 'Asia'],
            ['France', 1957, 44310863, 'Europe'],
            ['India', 1952, 3.72e+08, 'Asia'],
            ['United States', 1957, 171984000, 'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list, columns=['Country', 'Year',
                                     'Population', 'Continent'])
  
# Sorting by column "Population"
df.sort_values(by=['Population'], ascending=False)


Python3
# Sorting Pandas Data frame by putting
# missing values first
  
# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
age_list = [['Afghanistan', 1952, 8425333, 'Asia'],
            ['Australia', 1957, 9712569, 'Oceania'],
            ['Brazil', 1962, 76039390, 'Americas'],
            ['China', 1957, 637408000, 'Asia'],
            ['France', 1957, 44310863, 'Europe'],
            ['India', 1952, 3.72e+08, 'Asia'],
            ['United States', 1957, 0, 'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list, columns=['Country', 'Year',
                                     'Population', 'Continent'])
  
# Sorting by column "Population"
# by putting missing values first
df.sort_values(by=['Population'], na_position='first')


Python3
#  Sorting Pandas Dataframe based on
# the Values of Multiple Columns
  
# importing pandas library
import pandas as pd
  
# Initializing the nested list with data set
age_list = [['Afghanistan', 1952, 8425333, 'Asia'],
            ['Australia', 1957, 9712569, 'Oceania'],
            ['Brazil', 1962, 76039390, 'Americas'],
            ['China', 1957, 637408000, 'Asia'],
            ['France', 1957, 44310863, 'Europe'],
            ['India', 1952, 3.72e+08, 'Asia'],
            ['United States', 1957, 171984000, 'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list, columns=['Country', 'Year',
                                     'Population', 'Continent'])
  
  
# Sorting by columns "Country" and then "Continent"
df.sort_values(by=['Country', 'Continent'])


输出 :

对 Pandas 数据框进行排序

为了对 pandas 中的数据框进行排序,使用了函数sort_values()。 Pandas sort_values() 可以按升序或降序对数据框进行排序。

示例 1:按升序对数据框进行排序

Python3

# importing pandas library
import pandas as pd
  
# creating and initializing a nested list 
age_list = [['Afghanistan',1952,8425333,'Asia'],
            ['Australia',1957,9712569,'Oceania'],
            ['Brazil',1962,76039390,'Americas'],
            ['China',1957,637408000,'Asia'],
            ['France',1957,44310863,'Europe'],
            ['India',1952,3.72e+08,'Asia'],
            ['United States',1957,171984000,'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list,columns=['Country','Year',
                                    'Population','Continent'])
  
# Sorting by column 'Country'
df.sort_values(by=['Country'])

输出 :

示例 2:按降序对数据框进行排序

Python3

# Sorting Pandas Dataframe in Descending Order
  
# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
age_list = [['Afghanistan', 1952, 8425333, 'Asia'],
            ['Australia', 1957, 9712569, 'Oceania'],
            ['Brazil', 1962, 76039390, 'Americas'],
            ['China', 1957, 637408000, 'Asia'],
            ['France', 1957, 44310863, 'Europe'],
            ['India', 1952, 3.72e+08, 'Asia'],
            ['United States', 1957, 171984000, 'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list, columns=['Country', 'Year',
                                     'Population', 'Continent'])
  
# Sorting by column "Population"
df.sort_values(by=['Population'], ascending=False)

输出 :

示例 3:通过首先放置缺失值对 Pandas 数据框进行排序

Python3

# Sorting Pandas Data frame by putting
# missing values first
  
# importing pandas library
import pandas as pd
  
# Initializing the nested list with Data set
age_list = [['Afghanistan', 1952, 8425333, 'Asia'],
            ['Australia', 1957, 9712569, 'Oceania'],
            ['Brazil', 1962, 76039390, 'Americas'],
            ['China', 1957, 637408000, 'Asia'],
            ['France', 1957, 44310863, 'Europe'],
            ['India', 1952, 3.72e+08, 'Asia'],
            ['United States', 1957, 0, 'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list, columns=['Country', 'Year',
                                     'Population', 'Continent'])
  
# Sorting by column "Population"
# by putting missing values first
df.sort_values(by=['Population'], na_position='first')

输出 :

示例 4:按多列对数据框进行排序

Python3

#  Sorting Pandas Dataframe based on
# the Values of Multiple Columns
  
# importing pandas library
import pandas as pd
  
# Initializing the nested list with data set
age_list = [['Afghanistan', 1952, 8425333, 'Asia'],
            ['Australia', 1957, 9712569, 'Oceania'],
            ['Brazil', 1962, 76039390, 'Americas'],
            ['China', 1957, 637408000, 'Asia'],
            ['France', 1957, 44310863, 'Europe'],
            ['India', 1952, 3.72e+08, 'Asia'],
            ['United States', 1957, 171984000, 'Americas']]
  
# creating a pandas dataframe
df = pd.DataFrame(age_list, columns=['Country', 'Year',
                                     'Population', 'Continent'])
  
  
# Sorting by columns "Country" and then "Continent"
df.sort_values(by=['Country', 'Continent'])

输出 :