量化交易系列【2】Pandas数据筛选及处理相关操作

简介: 量化交易系列【2】Pandas数据筛选及处理相关操作

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


import pandas as pd


# 读取CSV文件
df = pd.read_csv('./000001.XSHE.csv')
df = df[:5]  # 取前5行数据
df

image.png

df['code'] = '000001.XSHE'  # 添加股票代码列
• 1


筛选数据


# 筛选指定股票代码数据
# 选取某一只股票
df[df['code']=='000001.XSHE']
# 选取多只股票,用isin后面接列表
df[df['code'].isin(['000001.XSHE','000002.XSHE'])]


# 筛选收盘价大于9的数据
df[df['close'] >= 9.0]


image.png


# 筛选日期在2015/1/5与2015/1/7之间的数据
df['date'] = pd.to_datetime(df['date'])   #将字符串的日期转换为日期类型
df[(df.date>='2015-01-05') & (df.date<='2015-01-07')]


image.png


处理缺失值


删除空值dropna


# how='any'表示只要有一个空值该行就删掉,how='all'所有列全为空值才删掉
df.dropna(how='any') 
df.dropna(subset=['涨跌幅','MACD死叉’],how='all')  # 表示 '涨跌幅','MACD死叉’这两个值均为空就删除改行


补全缺失值fillna


# 将缺失值给固定值,下面是将所有缺失值补位0
df.fillna(value='0')  
# 通过其他列的值补充该列的缺失值,下面示例:用收盘价来补充'MACD金叉死叉'空值
df['MACD金叉死叉'].fillna(value=df['收盘价'], inplace=True)
# 向上寻找最近的一个非空值来补充该位置forward fill
df.fillna(method='ffill')
# 向下寻找最近的一个非空值来补充该位置backward fill
df.fillna(method='bfill')
# 判断缺失值
df[df['涨跌幅'].notnull()]  #找出'涨跌幅'不为null的数据
df[df['涨跌幅'].isnull()]   #找出'涨跌幅'为null的数据


排序函数


# 重置索引,新的index为0,1,2,3...
df.reset_index(inplace=True)  
# 按照某一列进行排序, by指按照什么进行排序
df.sort_values(by=['交易日期'],ascending=True)  #
#  按照多列进行排序
df.sort_values(by=['股票名称','交易日期'], ascending=[True, True])  #


合并操作


df1 = df.iloc[0:2]
df1


image.png


df2 = df.iloc[3:5]
df2


image.png

# 将df1,df2上下拼接,ignore_index=True,表示去除原有的Index,重新用0,1,2.....代替
df3 = df1.append(df2,ignore_index=True)
df3


image.png


去除重复数据


df3.append(df2)


image.png


# 去除['close','open']列相同的数据,如果不写subset,表示两行所有数据均相同才会去除
# keep参数表示保留哪一行的数据:last表示最后一行,first表示第一行
df3.drop_duplicates(subset=['close','open'],keep='last',inplace=True)
df3


image.png

相关文章
|
14天前
|
Python
|
14天前
|
Python
|
13天前
|
Python
Pandas 常用函数-数据合并
Pandas 常用函数-数据合并
31 1
|
14天前
|
索引 Python
Pandas 常用函数-数据排序
10月更文挑战第28天
8 1
|
15天前
|
Python
Pandas 常用函数-查看数据
Pandas 常用函数-查看数据
14 2
|
15天前
|
SQL JSON 数据库
Pandas 常用函数-读取数据
Pandas 常用函数-读取数据
12 2
|
18天前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,&quot;死叉&quot;指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而&quot;金叉&quot;则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
34 2
|
13天前
|
Python
Pandas 常用函数-数据选择和过滤
Pandas 常用函数-数据选择和过滤
10 0
|
1月前
|
数据可视化 数据挖掘 数据处理
模型预测笔记(四):pandas_profiling生成数据报告
本文介绍了pandas_profiling库,它是一个Python工具,用于自动生成包含多种统计指标和可视化的详细HTML数据报告,支持大型数据集并允许自定义配置。安装命令为`pip install pandas_profiling`,使用示例代码`pfr = pandas_profiling.ProfileReport(data_train); pfr.to_file("./example.html")`。
47 1
|
2月前
|
索引 Python
使用 pandas 对数据进行移动计算
使用 pandas 对数据进行移动计算
23 0

热门文章

最新文章

相关实验场景

更多