如何对 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'])
输出 :