一、设计要求
数据字段
- Date (日期)
- Open (开盘价)
- High (最高价)
- Low (最低价)
- Close (收盘价)
- Volume (交易量)
- Adj Close (调整收盘价)
功能描述
- 数据读取
- 从指定路径读取数据集文件。
- 数据清洗与预处理
- 检查数据中的缺失值并打印缺失值情况。
- 检查数据类型并打印数据类型。
- 处理缺失值:
- 方法1:删除缺失值。
- 方法2:用均值填充缺失值。
- 对比删除和填充缺失值后的描述性统计数据。
- 处理异常值:
- 方法1:使用IQR(四分位距)方法。
- 方法2:使用Z-score方法。
- 对比两种方法处理异常值后的描述性统计数据。
- 检查并处理重复值,删除重复数据。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
- 数据转换
- 将日期列转换为日期格式,并移除无效日期行。
- 数据分组与聚合
- 按年份分组并计算均值。
- 按月份分组并计算均值。
- 按星期几分组并计算均值。
- 数据可视化
- 收盘价格随时间变化的折线图。
- 交易量的箱型图,用于检测异常值。
- 收盘价的直方图。
- 开盘价与收盘价的散点图。
二、设计思路
代码设计思路分析
1. 数据读取
file_path = 'xxxxxxxx数据表xxxxxxxx' data = pd.read_csv(file_path)
代码首先从指定路径读取CSV文件,加载Coca-Cola的股票历史数据。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
2. 数据预览与基本信息统计
print("数据预览:\n", data.head()) print("数据基本信息:\n", data.info()) print("数据描述性统计:\n", data.describe())
读取数据后,进行数据预览,查看数据的前几行,输出数据的基本信息(如数据类型和缺失值情况),并对数据进行描述性统计分析,了解数据的基本统计特征。
该代码的设计思路是从数据读取、清洗、预处理开始,通过处理缺失值、异常值和重复值,转换数据类型并进行数据分组与聚合,最终生成多种可视化图表,全面分析Coca-Cola股票历史数据。这种方法系统地处理和分析数据,确保数据的准确性和完整性,同时通过多样化的可视化手段展示数据的不同特征,帮助用户更好地理解和分析股票数据。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
3. 处理缺失值
data_dropna = data.dropna() print("删除缺失值后的数据:\n", data_dropna.info()) data_fillna = data.fillna(data.mean()) print("填充缺失值后的数据:\n", data_fillna.info())
处理缺失值采用两种方法:一是删除缺失值,二是用均值填充缺失值。分别输出处理后的数据基本信息,便于比较两种方法的效果。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
4. 处理异常值
Q1 = data.quantile(0.25) # > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈 IQR = Q3 - Q1 data_IQR = data[~((data < (Q1 - 1.5 * IQR)) | (data > (Q3 + 1.5 * IQR))).any(axis=1)] print("使用IQR处理异常值后的数据:\n", data_IQR.info()) data_zscore = data[(np.abs(stats.zscore(data.select_dtypes(include=[np.number]))) < 3).all(axis=1)] print("使用Z-score处理异常值后的数据:\n", data_zscore.info())
处理异常值也采用两种方法:一是使用IQR(四分位距)方法,二是使用Z-score方法。分别输出处理后的数据基本信息,并比较两种方法的效果。
5. 处理重复值
duplicates = # > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈 print("重复值数量: ", duplicates) data_nodup = data.drop_duplicates() print("删除重复值后的数据:\n", data_nodup.info())
检查并输出数据中的重复值数量,然后删除重复值,并输出处理后的数据基本信息。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
6. 数据转换
data_nodup['Date'] = # > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈 print("转换日期格式后的数据:\n", data_nodup.info()) data_nodup = data_nodup.dropna(subset=['Date']) print("移除无效日期行后的数据:\n", data_nodup.info())
将日期列转换为日期格式,并移除转换过程中产生的无效日期行。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
7. 数据分组与聚合
data_nodup['Year'] = data_nodup['Date'].dt.year # 略..... # > 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈 # 略..... # 略..... # 略..... # 略..... # 略..... # 略..... print("按星期几分组后的数据:\n", grouped_by_dow.head())
将日期数据按年份、月份和星期几进行分组,并计算分组后的均值,以便分析不同时间周期内的数据变化规律。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
三、可视化分析
- 收盘价随时间变化的折线图
- 收盘价随时间变化的折线图展示了在一段时间内,Coca-Cola股票的收盘价格的变化趋势。通过观察这一图表,可以直观地看到股价的波动情况,包括上涨、下跌以及平稳的阶段。这个图表帮助我们了解股票的历史表现,识别出重要的转折点和趋势变化,对于投资者和分析师来说,这些信息可以用来预测未来的价格走势,并做出相应的投资决策。
8. 数据可视化
plt.figure(figsize=(10, 6)) plt.plot(data_nodup['Date'], data_nodup['Close'], label='收盘价') plt.title('收盘价随时间变化') plt.xlabel('日期') plt.ylabel('收盘价') plt.legend() plt.show()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
2. 交易量的箱型图
交易量的箱型图用于展示股票交易量的分布情况,并检测异常值。通过箱型图,可以观察到交易量的中位数、四分位数、以及可能的异常值(离群点)。这种可视化方式有助于理解交易量的波动范围及其集中程度,同时可以识别出交易量异常高或异常低的日期,这些异常值可能对应着特定的市场事件或公司新闻,对投资决策和市场分析提供参考依据。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
- 收盘价的直方图
- 收盘价的直方图展示了Coca-Cola股票收盘价的频率分布情况。通过直方图,可以了解收盘价在不同区间的分布情况,识别出常见的价格区间和极端值的分布。这种分析方式可以帮助投资者了解股票价格的常见波动范围,以及价格的集中程度,有助于评估股票的风险和收益情况,制定相应的投资策略。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈
开盘价与收盘价的散点图
开盘价与收盘价的散点图展示了两者之间的关系。通过散点图,可以观察开盘价和收盘价的相关性,识别出是否存在某种模式或趋势。散点图中的点越接近对角线,说明开盘价和收盘价越接接近;离散度越大,则表明价格波动较大。这个图表帮助分析股票在交易日内的价格变化情况,为投资者提供开盘价与收盘价之间的关联信息,从而更好地理解日内交易的波动性。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 可口可乐 ” 获取。👈👈👈