python_数据分析_笔记碎碎念

本文介绍Pandas和NumPy在数据处理方面的高级应用,包括数据聚合与分组计算、时间序列分析、高效数组运算及广播原则。通过具体实例展示如何使用这些工具简化复杂的数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、数据聚合与分组计算

1、根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象
2、计算分组摘要统计,如计数、平均值、标准差,或用户自定义函数
3、对DataFrame的列应用各种各样的函数
4、应用组内转换或其他运算,如规格化、线性回归、排名或选取子集等
5、计算透视表或交叉表
6、执行分位数分析以及其他分组分析

2、dataFrame.ix[]先行索引,后列

行优先:从高维度开始
列优先:从低维度开始

concatenate([],axis=1)==hstack()==np.r_[]
vstack dstack np.c_
split

广播原则:如果两个数组的后缘维度(从末尾开始算起的维度)的轴长度相符或其中一方的长度为1,则认为它们是广播兼容的。广播会在缺失和长度为1的维度上进行。

3、结构化数组的另一个常见用法:

将数据文件写成定长记录字节流。只要知道文件的格式(记录的大小、元素顺序、字节数以及数据类型等),就可以使用np.fromfile将数据读入内存
内存映射,它使你能处理内存中放不下的数据集

4、numpy使用原则:

1、将python循环和条件逻辑转换为数组运算和布尔数组运算
2、尽量使用广播
3、避免复制数据,尽量使用数据视图(即切片)
4、利用ufunc及其各种方法

考虑C、cpython来提升性能

numpy注意点:
astype无论如何都会创建出一个新的数组
浮点数,比较操作只能在一定小数位以内有效
显式复制:copy
花式索引,指利用整数数组进行索引,将数据复制到新数组中

设置省略显示的门槛:

np.set_printoptions(threshold=100)

5、时间序列的基础频率:

D H S L U 天 小时 分 秒 毫秒 微秒
WOM-3FRI

p=pd.Period('2014Q4',freq='Q-JAN')
获取该季度倒数第二个工作日下午4点的时间戳
p4pm=(p.asfreq('B','e')-1).asfreq('T','s')+16*60

升表示,频率变细,变多
在降采样中,目标频率必须是源频率的子时期
在升采样中,目标频率必须是源频率的超时期

read_csv,解析日期read_csv,parse_dates=True

移动窗口函数:
close_px.rolling(window=60,min_periods=30).quantile(90)

自定义窗口函数:要能从数组的某个片段中产生某个值

6、获取数据(书本练习中需要)

from pandas_datareader import data as web

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值