Pandas
2024-11-02 19:15:10 0 举报
AI智能生成
Pandas是一个强大的开源数据分析库,广泛应用于Python中。它提供了用于处理和分析数据的各种数据结构和函数,如DataFrame和Series。用户可以利用Pandas进行数据清洗、转换、分析和可视化。Pandas还兼容许多其他Python库,如NumPy和Matplotlib,使其成为数据科学家和工程师的强大工具。
作者其他创作
大纲/内容
数据结构
Series
创建方式
pd.Series
基本属性
index 索引
name 索引名字
name Series的名字
value
以数组返回值
DataFrame
创建方式
pd.DataFrame
属性
columns 列标签
index 行标签
shape 行列数
value
以数组返回值
T
转置
数据选取
非标准
列的选择
单个列 df[label] 选取特定列
字符串
默认是数字的label
多个列df[[col1,col2,....]]l选取多列
行的选择
df[切片]【index 或者 label】 选取行
标准用法
【推荐】显式索引用df.loc[row,col ],只能用行列的label
使用loc可以添加行列
添加行的时候会导致数据类型的变化
【推荐】隐式索引用df.iloc[row,col ] 只能用行列的index
数据读写
数据读操作
read_csv():读取结构化的文本数据
read_excel():读取excel文档
read_sql:读取关系型数据库
read_html:读取网页中的table标签
数据写操作
to_csv
to_excel
to_sql
to_parquet【了解】
列式存储文件
数据统计分析
数值
describe
对数据进行初步描述性统计
sum/count/mean/median/std/var/max/min
聚合
cumsum
累积求和
类别
value_counts
统计频率
unique
nunique
mode
数据清洗转换
缺失值
判断缺失值
isnull
notnull
删除缺失值
dropna(how.thresh)
填充缺失值
fillna
固定值
向前向后填充
replace
对series或者dataframe的数据实现替换(可通过字典形式)
重复值
drop_duplicates(subset=None, keep=first, inplace=False)
duplicated
判断重复值
异常值
异常值识别
分位数识别
标准差识别
自定义处理规则
map
只应用于Series上
函数:逐个元素进行特定处理
字典:key 为原来的值,value为新值
apply
对 Series逐个元素进行特定处理
对 Dataframe 逐个 Series 进行特定处理
对 Groupby对象 逐个子dataframe 进行特定运算
applymap
对dataframe逐个元素进行运算
字符串向量化操作Series.str
支持矢量切片、索引,可以是列表、字符串、元组
series.str[index]
series.str[start:end]
正则表达式
[0-9] 或者 \d 表示数字字符
[a-z] [A-Z]分别表示小写与大写字母
. 表示任意字符
\s 任意空白字符
{n,m} 表示 前面的字符出现至少n次 最多m次
* 表示前面的字符出现任意多次
A|B 表示 匹配表达式A 如果A不成立再去看B表达式
( )圈定提取范围
常见方法
replace() 用于替换字符串中的值 支持正则表达式
split() 用于切分每个字符串 支持正则表达式
extract() 可用于提取字符串中的内容,支持正则表达式写法
contains: 字符串中是否包含,用于columns时可以筛选特定列
cat() : 纵向拼接字符串
时间数据处理
时间字段.dt
dayofweek
......
......
子主题
时间行索引
切片操作 选择特定时间数据
提取时间维度
dayofweek
......
......
pd.to_datetime 将整数(unix_timestamp)或者字符串(date/datetime) 转换为时间类型
pd.date_range
start
end
periods
freq
B business day frequency 工作日频率
C custom business day frequency 自定义工作日频率
D calendar day frequency 日历日频率
W weekly frequency 每周频率
M month end frequency 月末频率
SM semi-month end frequency (15th and end of month) 半月结束频率(15日和月末)
BM business month end frequency 营业月结束频率
CBM custom business month end frequency 自定义营业月结束频率
MS month start frequency 月开始频率
SMS semi-month start frequency (1st and 15th) 半月开始频率(第1天和第15天)
BMS business month start frequency 营业月开始频率
CBMS custom business month start frequency 自定义营业月开始频率
Q quarter end frequency 四分之一结束频率
BQ business quarter end frequency 业务季度结束频率
QS quarter start frequency 季度开始频率
BQS business quarter start frequency 业务季开始频率
A, Y year end frequency 年终频率
BA, BY business year end frequency 业务年度结束频率
AS, YS year start frequency 年开始频率
BAS, BYS business year start frequency 营业年度开始频率
BH business hour frequency 营业时间频率
H hourly frequency 每小时频率
T, min minutely frequency 分钟的频率
S secondly frequency 秒钟的频率
L, ms milliseconds 毫秒
U, us microseconds 微妙
N nanoseconds 纳秒
C custom business day frequency 自定义工作日频率
D calendar day frequency 日历日频率
W weekly frequency 每周频率
M month end frequency 月末频率
SM semi-month end frequency (15th and end of month) 半月结束频率(15日和月末)
BM business month end frequency 营业月结束频率
CBM custom business month end frequency 自定义营业月结束频率
MS month start frequency 月开始频率
SMS semi-month start frequency (1st and 15th) 半月开始频率(第1天和第15天)
BMS business month start frequency 营业月开始频率
CBMS custom business month start frequency 自定义营业月开始频率
Q quarter end frequency 四分之一结束频率
BQ business quarter end frequency 业务季度结束频率
QS quarter start frequency 季度开始频率
BQS business quarter start frequency 业务季开始频率
A, Y year end frequency 年终频率
BA, BY business year end frequency 业务年度结束频率
AS, YS year start frequency 年开始频率
BAS, BYS business year start frequency 营业年度开始频率
BH business hour frequency 营业时间频率
H hourly frequency 每小时频率
T, min minutely frequency 分钟的频率
S secondly frequency 秒钟的频率
L, ms milliseconds 毫秒
U, us microseconds 微妙
N nanoseconds 纳秒
离散化
qcut
根据位置进行分箱
cut
根据值进行分箱
数据重构
分组聚合
groupyby
groupby 对象可以迭代
使用多个字段进行分组后返回的结果行的名字会有两层
aggfunc
aggregate/agg
传入各种聚合函数
列表:每个字段都进行相同的几种聚合操作
字典:每个字段进行不同的聚合操作
filter
过滤组
transform
转换组
apply
通用处理(根据自定义函数可以实现 聚合或者转换操作)
透视表
pd.pivot_table()
索引重置
reset_index
将行索引变为值,如果想删除原来的索引 drop=True
对于多层索引 可以指定 Level 参数
set_index
将一列数据设置为行索引
数据拼接
concat
可以将dataframe 进行 横纵 方向的拼接
merge
实现了SQL中表的拼接形式
排序
sort_index
根据行索引排序
sort_values:根据字段去排序,字段可以是多个,用列表按序输入
rank:排名 可以实现各种排名规则
0 条评论
下一页