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