Pandas 排序
sort_values 排序
import pandas as pd
excel_name = '花夢影.xlsx'
df = pd.read_excel(excel_name)
# result = df.sort_values(by='粉絲數') # 默認升序,降序 ascending=False
result = df.sort_values(by=['筆記類型', '粉絲數'], ascending=False) # 按照類型和粉絲數排序
數據透視
透視語法
DataFrame.pivot_table(data, values=None, index=None, columns=None,
aggfunc='mean', fill_value=None, margins=False,
dropna=True, margins_name='All')
values: 對目標數據進行篩選,默認是全部數據,我們可通過values參數設置我們想要展示的數據列
index : 透視表的行索引,必要參數,如果我們想要設置多層次索引,使用列表[ ]
columns :透視表的列索引,非必要參數,同index使用方式一樣
aggfunc :對數據聚合時進行的函數操作,默認是求平均值,也可以sum、count等
margins :額外列,在最邊上,默認是對行列求和
fill_value : 對於空值進行填充
dropna : 默認開啟去重
res = df.pivot_table(
values='粉絲數', index='筆記類型', columns='發布時間', aggfunc='mean'
)
時間處理
轉換為 datetime 對象
df['發布時間'] = pd.to_datetime(df['發布時間'])
將列表的時間列作為 timestamp 讀取,從而將數據轉換為日期
df = pd.read_excel(excel_name, parse_dates=['發布時間'])
df['發布時間'].max()
df['發布時間'].min()
時間對比
df['發布時間'].max() - df['發布時間'].min()
獲取年
df['結束時間'] = df['結束時間'].dt.year