Pandas系列教程(8)pandas數據排序


pandas數據排序

1. Series的排序:

Series.sort_values(ascending=True, inplace=Flase)

參數說明:

    1. ascending:默認為True升序排列,為Flase降序排序

    2. inplace: 是否修改原始的Series

2. DataFrame的排序

DataFrame.sort_values(by, ascending=True, inplace=Flase )

參數說明:

    1. by: 字符串或者List<字符串>,單列排序或者多列排序

    2. ascending:bool或者list,升序還是降序,如果是list對應by的多列

    3. inplace:是否修改原始的DataFrame

1、讀取數據

import pandas as pd

file_path = "../../datas/files/beijing_tianqi_2018.csv"
df = pd.read_csv(file_path)

# 替換溫度的后綴℃, 並轉為int32(修改列)
df.loc[:, 'bWendu'] = df.loc[:, 'bWendu'].str.replace('', '').astype('int32')
df.loc[:, 'yWendu'] = df.loc[:, 'yWendu'].str.replace('', '').astype('int32')

print(df.head(3))

 

2、Series排序

import pandas as pd

file_path = "../../datas/files/beijing_tianqi_2018.csv"
df = pd.read_csv(file_path)

df.loc[:, 'bWendu'] = df.loc[:, 'bWendu'].str.replace('', '').astype('int32')
df.loc[:, 'yWendu'] = df.loc[:, 'yWendu'].str.replace('', '').astype('int32')

print('*' * 25, '打印前幾行數據', '*' * 25)
print(df.head())

# -------------------- series排序 --------------------- #
print('*' * 25, 'aqi升序', '*' * 25)
print(df['aqi'].sort_values())

print('*' * 25, 'aqi降序', '*' * 25)
print(df['aqi'].sort_values(ascending=False))

print('*' * 25, 'tianqi中文排列', '*' * 25)
print(df['tianqi'].sort_values())

 

3、DataFrame排序

單列排序

import pandas as pd

file_path = "../../datas/files/beijing_tianqi_2018.csv"
df = pd.read_csv(file_path)

df.loc[:, 'bWendu'] = df.loc[:, 'bWendu'].str.replace('', '').astype('int32')
df.loc[:, 'yWendu'] = df.loc[:, 'yWendu'].str.replace('', '').astype('int32')

print('*' * 25, '打印前幾行數據', '*' * 25)
print(df.head())

# ---------------------- DataFrame排序 ----------------------- #
# 單列排序
print('*' * 25, 'aqi升序', '*' * 25)
print(df.sort_values(by='aqi'))

print('*' * 25, 'aqi降序', '*' * 25)
print(df.sort_values(by='aqi', ascending=False))

多列排序

import pandas as pd

file_path = "../../datas/files/beijing_tianqi_2018.csv"
df = pd.read_csv(file_path)

df.loc[:, 'bWendu'] = df.loc[:, 'bWendu'].str.replace('', '').astype('int32')
df.loc[:, 'yWendu'] = df.loc[:, 'yWendu'].str.replace('', '').astype('int32')

print('*' * 25, '打印前幾行數據', '*' * 25)
print(df.head())

# ---------------------- DataFrame排序 ----------------------- #
# 多列排序
print('*' * 25, '按空氣質量等級,最高溫度排序,默認升序', '*' * 25)
print(df.sort_values(by=['aqiLevel', 'bWendu']))

print('*' * 25, '按空氣質量等級,最高溫度排序,指定降序', '*' * 25)
print(df.sort_values(by=['aqiLevel', 'bWendu'], ascending=False))

print('*' * 25, '分別指定升序和降序', '*' * 25)
print(df.sort_values(by=['aqiLevel', 'bWendu'], ascending=[True, False]))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM