首页 > 编程语言 >Python代码实现了对股票数据的读取、筛选、分析和可视化功能

Python代码实现了对股票数据的读取、筛选、分析和可视化功能

时间:2025-01-09 22:03:50浏览次数:3  
标签:plt 20 读取 Python 数据 2024 12 可视化 data

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""
# 读取股票数据
import pandas as pd
import matplotlib.pyplot as plt

# 读取数据
data = pd.read_excel('D:/第3组-数据.xlsx')

# 切片取2024-01-02至2024-12-20数据
data = data[(data['时间'] >= '2024-01-02') & (data['时间'] <= '2024-12-20')]

# 展示前20条数据
print(data.head(20))

# 按日期升序排列
data1 = data.sort_values('时间')

# 描述性统计
stats = data.describe()

# 设置字体为SimHei
plt.rcParams['font.sans-serif'] = 'SimHei'

# 添加x轴和y轴,x轴为交易日期,y轴为收盘价
x = data['时间']
y = data['收盘']
# 绘制线性图
plt.plot(x, y, 'r*--')
# 对横轴和纵轴打上中文标签,定义图像的标题
plt.xlabel('时间')
plt.ylabel('收盘')
plt.title('宁德时代2024-01-02至2024-12-20的收盘价走势图')
plt.show()

# 添加x轴和y轴,x轴为交易日期,y轴为总手
x1 = data['时间']
y1 = data['总手']
# 绘制柱状图
plt.figure(figsize=(12, 6))  # 调整图形大小,使日期显示更清晰
plt.bar(x1, y1)
plt.xticks(rotation=45)  # 旋转x轴标签,避免重叠
# 对横轴和纵轴打上中文标签,定义图像的标题
plt.xlabel('时间')
plt.ylabel('总手')
plt.title('宁德时代2024-01-02至2024-12-20的交易量柱状图')
plt.show()

这段Python代码实现了对股票数据的读取、筛选、分析和可视化功能,具体如下:

1. 数据读取

data = pd.read_excel('D:/第3组-数据.xlsx')

使用 pandas 库的 read_excel 函数读取指定路径(D:/第3组-数据.xlsx)下的Excel文件,并将数据存储在 data 这个 DataFrame 对象中。

2. 数据筛选

data = data[(data['时间'] >= '2024-01-02') & (data['时间'] <= '2024-12-20')]

通过布尔索引,从原始数据中筛选出 时间 列在 2024-01-022024-12-20 这个时间段内的数据行,并将筛选后的数据重新赋值给 data

3. 数据展示与基本分析

print(data.head(20))
data1 = data.sort_values('时间')
stats = data.describe()
  • print(data.head(20)):输出筛选后数据的前20行,用于快速查看数据的大致内容和格式。
  • data1 = data.sort_values('时间'):按照 时间 列对数据进行升序排序,排序后的数据存储在 data1 中。虽然这里 data1 没有后续使用,但如果后续需要按时间顺序处理数据,这一步是有意义的。
  • stats = data.describe():生成筛选后数据的描述性统计信息,包括计数、均值、标准差、最小值、25%分位数、50%分位数、75%分位数和最大值等,有助于了解数据的基本特征。

4. 数据可视化

  • 收盘价走势图
plt.rcParams['font.sans-serif'] = 'SimHei'
x = data['时间']
y = data['收盘']
plt.plot(x, y, 'r*--')
plt.xlabel('时间')
plt.ylabel('收盘')
plt.title('宁德时代2024-01-02至2024-12-20的收盘价走势图')
plt.show()
- `plt.rcParams['font.sans-serif'] = 'SimHei'`:设置图形中显示的字体为黑体,确保中文标签和标题能够正确显示。
- `x = data['时间']` 和 `y = data['收盘']`:分别提取 `时间` 列和 `收盘` 列的数据作为 `x` 轴和 `y` 轴的数据。
- `plt.plot(x, y, 'r*--')`:使用 `matplotlib` 库的 `plot` 函数绘制折线图,`r*--` 表示使用红色星号标记的虚线。
- `plt.xlabel('时间')`、`plt.ylabel('收盘')` 和 `plt.title('宁德时代2024-01-02至2024-12-20的收盘价走势图')`:分别设置 `x` 轴标签、`y` 轴标签和图形标题。
- `plt.show()`:显示绘制的图形。
  • 交易量柱状图
x1 = data['时间']
y1 = data['总手']
plt.figure(figsize=(12, 6))
plt.bar(x1, y1)
plt.xticks(rotation=45)
plt.xlabel('时间')
plt.ylabel('总手')
plt.title('宁德时代2024-01-02至2024-12-20的交易量柱状图')
plt.show()
- `x1 = data['时间']` 和 `y1 = data['总手']`:分别提取 `时间` 列和 `总手` 列的数据作为 `x` 轴和 `y` 轴的数据。
- `plt.figure(figsize=(12, 6))`:创建一个大小为 `(12, 6)` 的图形,使日期标签能更清晰地显示。
- `plt.bar(x1, y1)`:使用 `bar` 函数绘制柱状图。
- `plt.xticks(rotation=45)`:将 `x` 轴上的日期标签旋转45度,避免标签之间相互重叠。
- 后续的 `x` 轴标签、`y` 轴标签和图形标题设置与收盘价走势图类似,最后通过 `plt.show()` 显示图形。

综上所述,这段代码主要围绕宁德时代2024年1月2日至12月20日的股票数据,进行了读取、筛选、简单分析以及可视化展示收盘价走势和交易量情况的操作。

标签:plt,20,读取,Python,数据,2024,12,可视化,data
From: https://blog.csdn.net/go5463158465/article/details/145043313

相关文章