量化交易系列【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()
相关文章
|
3月前
|
Serverless 数据处理 索引
Pandas中的shift函数:轻松实现数据的前后移动
Pandas中的shift函数:轻松实现数据的前后移动
275 0
|
3月前
|
数据采集 数据可视化 数据挖掘
Pandas函数大合集:数据处理神器一网打尽!
Pandas函数大合集:数据处理神器一网打尽!
49 0
|
1月前
|
Python
|
1月前
|
Python
|
1月前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
42 1
|
1月前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
18 1
|
1月前
|
数据采集 Python
Pandas 常用函数-数据清洗
Pandas 常用函数-数据清洗
22 2
|
1月前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
21 2
|
1月前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
22 2
|
1月前
|
BI Python
Pandas 常用函数-数据统计和描述
Pandas 常用函数-数据统计和描述
123 0