量化交易系列【1】常用的Pandas数据统计及计算相关函数

简介: 量化交易系列【1】常用的Pandas数据统计及计算相关函数

1. pd.read_csv读取CSV文件,查看数据


示例中使用的‘000001.XSHE.csv’文件,以上传至csdn资源中,可直接下载


import pandas as pd
# 读取CSV文件
df = pd.read_csv('./000001.XSHE.csv')
• 1
• 2


# 显示前n行,默认是5
df.head(5)



date
open close high low volume money
0 2015/1/5 9.98 10.00 10.17 9.74 458099037 4.565388e+09
1 2015/1/6 9.90 9.85 10.23 9.71 346952496 3.453446e+09

2 2015/1/7 9.72 9.67 9.88 9.55 272274401 2.634796e+09
3 2015/1/8 9.68 9.34 9.72 9.30 225445502 2.128003e+09
4 2015/1/9 9.30 9.42 9.91 9.19 401736419 3.835378e+09


# 显示后n行,默认是5
df.tail(5)


image.png


# 查看数据形状
df.shape
• 1
• 2
(1878, 7)
• 1
# 统计数据样本值
df.describe()


image.png


2. 统计函数:mean,max,min等


# 求均值
df['close'].mean()
• 1
• 2
12.477007454739086
• 1
# 求最大值
df['close'].max()
24.57
• 1
# 求最小值
df['close'].min()
• 1
• 2
7.15
• 1

# 求标准差
df['close'].std()
4.057594705064531
• 1
# 求中位数
df['close'].median()
• 1
• 2
11.865

# 求分位数,以0.25为例,表示%25分位数
df['close'].quantile(0.25)
• 1
• 2
8.8


3. shift函数:行移动指定位数


Pandas的shift函数可以将DataFrame移动指定的位数


df1 =df.head(5)
• 1
df1


image.png


df1['昨天的收盘价'] = df1['close'].shift(1)   # 1表示将收盘价整体下移1行
• 1
df1[['date','close','昨天的收盘价']]


image.png


4. diff函数:求两行差


# 计算今天的涨跌幅具体指 = 今天收盘价 - 昨天收盘价
df1['涨跌值'] = df1['close'].diff(1)  # 标志求下一行与上一行之差
df1[['date','close','涨跌值']]


image.png


5. pct_change函数:求变化比例


求两个数差值的比例, 与diff类似。但是diff求的是差值,pct_change求的是变化比例


# 求今天的涨跌幅比例 = (今天收盘价 - 昨天收盘价) / 昨天收盘价
df1['涨跌幅_百分比'] = df1['close'].pct_change()
df1[['date','close','涨跌幅_百分比']]


image.png


6. cum函数:累加


# 计算成交量
df1['成交量_cum'] = df1['volume'].cumsum()  #该列的累加
df1[['date','volume','成交量_cum']]


image.png


7. cumprod函数:累乘


# 计算涨跌幅曲线: 假设起始资金1元钱,资金的变化曲线
df1['涨跌幅变化曲线'] =(df1['涨跌幅_百分比'] + 1).cumprod()
df1[['date','close','涨跌幅_百分比','涨跌幅变化曲线']]


image.png

8. rank函数:用于计算排名


# 举例:按照收盘价进行排名
# pct参数如果设置为True,则表示以百分比形式排名
df1['收盘价_排名'] = df1['close'].rank(ascending=True,pct=False)
df1[['date','close','收盘价_排名']]

image.png


9. value_counts函数:统计出现次数


统计该列中每个元素出现的次数,返回Series


df['股票代码'].value_counts()
相关文章
|
Serverless 数据处理 索引
Pandas中的shift函数:轻松实现数据的前后移动
Pandas中的shift函数:轻松实现数据的前后移动
2002 0
|
9月前
|
监控 物联网 数据处理
Pandas高级数据处理:数据流式计算
本文介绍了如何使用 Pandas 进行流式数据处理。流式计算能够实时处理不断流入的数据,适用于金融交易、物联网监控等场景。Pandas 虽然主要用于批处理,但通过分块读取文件、增量更新 DataFrame 和使用生成器等方式,也能实现简单的流式计算。文章还详细讨论了内存溢出、数据类型不一致、数据丢失或重复及性能瓶颈等常见问题的解决方案,并建议在处理大规模数据时使用专门的流式计算框架。
539 100
Pandas高级数据处理:数据流式计算
|
数据采集 数据可视化 数据挖掘
Pandas函数大合集:数据处理神器一网打尽!
Pandas函数大合集:数据处理神器一网打尽!
159 0
|
9月前
|
消息中间件 数据挖掘 数据处理
Pandas高级数据处理:数据流式计算
在大数据时代,Pandas作为Python强大的数据分析库,在处理结构化数据方面表现出色。然而,面对海量数据时,如何实现高效的流式计算成为关键。本文探讨了Pandas在流式计算中的常见问题与挑战,如内存限制、性能瓶颈和数据一致性,并提供了详细的解决方案,包括使用`chunksize`分批读取、向量化操作及`dask`库等方法,帮助读者更好地应对大规模数据处理需求。
199 17
|
10月前
|
分布式计算 并行计算 数据处理
Pandas高级数据处理:并行计算
Pandas是Python中广泛使用的数据分析库,随着数据量增加,单线程处理速度成为瓶颈。本文介绍Pandas并行计算的基本概念、方法及常见问题的解决方案。并行计算通过多线程、多进程或分布式框架(如Dask)实现,充分利用多核CPU优势。文章详细解释了数据分割、内存占用和线程/进程间通信等问题,并提供了代码示例。最后总结了常见报错及其解决方法,帮助开发者提升数据处理效率。
388 3
|
Python
|
Python
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
117 1
|
数据采集 Python
Pandas 常用函数-数据清洗
Pandas 常用函数-数据清洗
125 2
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
124 2

热门文章

最新文章