# -*- 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-02
到 2024-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