Pandas 数据分析(二)【股票数据】

embedded/2025/1/23 13:33:21/

股票数据分析

  • 写在前面
  • 题目背景
    • 021 加载股票数据到CSV文件
    • 022 查看基本信息和数据统计
    • 023 更改索引列为普通数据列
    • 024 给数据添加月份和年份
    • 025 计算每年的平均收盘价
    • 026 找到收盘价最低的数据行
    • 027 筛选出部分数据列
    • 028 设置日期列为索引列
    • 029 删除不需要的数据列
    • 030 对数据列重命名
  • 结语

写在前面

数据分析的领域中,股票市场是一个非常热门且富有挑战性的分析对象。通过对股票数据的深入分析,我们不仅能够了解市场趋势,还能为投资决策提供有力支持。本文将通过一个包含日期、开盘价、最高价、最低价、收盘价以及交易量的股票数据集,结合pandas库完成10道数据分析题目。每个问题都将帮助我们从不同角度探索股票市场的动态变化,让你在掌握数据分析技巧的同时,对股票市场的理解更上一层楼。

题目背景

  • 题目数据包含日期(Date),开盘价(Open),最高价(High),最低价(Low),关盘价(Close),交易量(Volume

021 加载股票数据到CSV文件

在这里插入图片描述

我们可以先看看当前csv文件内容,它处在当前路径下面,我们编写代码的地方是图中的pandaExp.py文件:
在这里插入图片描述

代码:

import pandas as pd
df=pd.read_csv("./股票数据.csv")
print(df)

运行结果:
在这里插入图片描述


022 查看基本信息和数据统计

在这里插入图片描述

  • 这里涉及的方法上一篇已经谈过,可以看看本专栏的篇(一)。
import pandas as pd
df=pd.read_csv("./股票数据.csv")
print(df.info())
print()
print(df.describe())

运行结果:
在这里插入图片描述


023 更改索引列为普通数据列

在这里插入图片描述

import pandas as pd
df=pd.read_csv("./股票数据.csv",index_col=0)
print(df.head(5))
print(df.columns)

这里我们index_col=0意思是将第一列作为索引列,此时打印的效果是下面这样的,但是题目要求我们的是将这里的索引列也变成数据列。
在这里插入图片描述

其实直接调用df.reset_index(inplace=True)即可,意思是重新设置索引列(恢复成为默认的数字索引),并且是原地在df上做修改,不用接收返回值。

import pandas as pd
df=pd.read_csv("./股票数据.csv",index_col=0)df.reset_index(inplace=True)
print(df.head(5))
print(df.columns)

在这里插入图片描述


024 给数据添加月份和年份

在这里插入图片描述

import pandas as pd
df = pd.read_csv("./股票数据.csv")
# 从这里开始完成题目df["Date"] = pd.to_datetime(df["Date"])
df["Year"] = df["Date"].dt.year
df["Month"] = df["Date"].dt.monthprint(df)

在这里插入图片描述


025 计算每年的平均收盘价

在这里插入图片描述

  • df.groupby("Year")是按照年份聚合分组
  • ["Close"]是取出分组后的Close这一列
  • .mean()是求均值
import pandas as pd
df = pd.read_csv("./股票数据.csv")
# 从这里开始完成题目
df["Date"] = pd.to_datetime(df["Date"])
df["Year"] = df["Date"].dt.year
print(df.groupby("Year")["Close"].mean())

在这里插入图片描述

本题是目前第一个分组聚合统计,要深刻体会这种思想


026 找到收盘价最低的数据行

在这里插入图片描述
本题找最小行,最容易想到的是df["Close"].min()方法,这样确实可以找到最小值,但是我们找不到最小值所在的行,也就找不到最小行的其他信息。如果我们要先找最小行所在的索引,可以调用df.argmin()方法,它会返回最小行所在索引。根据df.loc[["索引"]]就可以访问到了。需要注意的是df.loc方法如果打一个[],返回的是Series对象,如果打两个[[]]返回的是DataFrame对象。

  • 这里我们返回DataFrame对象。
import pandas as pd
df = pd.read_csv("./股票数据.csv")
# 从这里开始完成题目
min_index = df["Close"].argmin()print(df.loc[[min_index]])

在这里插入图片描述


027 筛选出部分数据列

在这里插入图片描述

import pandas as pd
df = pd.read_csv("./股票数据.csv")
# 从这里开始完成题目
print(df.head(3))
df_new = df[["Date", "Open", "Close", "Volume"]]
print(df_new.head(3))

在这里插入图片描述


028 设置日期列为索引列

在这里插入图片描述

import pandas as pd
df = pd.read_csv("./股票数据.csv")
# 从这里开始完成题目
print(df.head(3))
df.set_index("Date",inplace=True) #原地修改Date为索引列
print()
print(df.head(3))

在这里插入图片描述


029 删除不需要的数据列

在这里插入图片描述

import pandas as pd
df = pd.read_csv("./股票数据.csv")
# 从这里开始完成题目
df.drop(columns=["High","Low"], inplace=True)
print(df.head(3))

在这里插入图片描述


030 对数据列重命名

在这里插入图片描述

import pandas as pd
df = pd.read_csv("./股票数据.csv")
# 从这里开始完成题目
print(df.head(3))
df.columns=["D", "O", "H", "L", "C", "V"]
print(df.head(3))

在这里插入图片描述


结语

通过本博客,我们不仅练习了pandas库的基本操作,还学习了如何从股票数据中提取有价值的信息。每道题目都带有一定的实用性,帮助我们深入理解如何处理和分析复杂的数据集。


http://www.ppmy.cn/embedded/156312.html

相关文章

CSS 默认值

HTML 元素的 CSS 默认值 下表显示了所有 HTML 元素的默认 CSS 浏览器值。 元素默认的 CSS 值a:link color: (internal value);text-decoration: underline;cursor: auto; a:visited color: (internal value);text-decoration: underline;cursor: auto; a:link:activecolor: (…

【机器学习实战中阶】比特币价格预测

比特币价格预测项目介绍 比特币价格预测项目是一个非常有实用价值的机器学习项目。随着区块链技术的快速发展,越来越多的数字货币如雨后春笋般涌现,尤其是比特币作为最早的加密货币,其价格波动备受全球投资者和研究者的关注。本项目的目标是…

在 WiFi 连接的情况下,查找某一个 IP 地址所在位置

通过专业数据库查询 使用在线 IP 查询网站:有许多在线网站如ip66.net等,专门提供 IP 地址定位服务15。只要输入要查询的 IP 地址,网站就会利用其背后的地理 IP 数据库,返回该 IP 地址对应的大致地理位置,如城市、州 /…

Linux 切换到 Root 用户的方式及差异详解

在 Linux 系统中,切换到 root 用户进行管理和操作是常见需求。不同的切换方法会影响环境变量、工作目录以及加载的配置文件。本文将介绍几种常用的切换方式及它们的特点。 切换到 Root 用户的主要方式 1. sudo su 这是通过 sudo 提权后调用 su 切换到 root 用户的…

C# OpenCV机器视觉:常用滤波算法

在一个电闪雷鸣的夜晚,阿强的实验室里却灯火通明,宛如黑暗中的科技孤岛。窗外狂风呼啸,大雨倾盆,仿佛是世界末日的序曲;而屋内,阿强正对着电脑屏幕愁眉苦脸,屏幕上是一张张 “惨不忍睹” 的图像…

考研408笔记之数据结构(四)——树与二叉树

数据结构(四)——树与二叉树 1. 树的基本概念 1.1 树的定义 树的定义:树是n(n>0)个结点的有限集。当n0时,称为空树。 在任意一棵非空树中应满足: 有且仅有一个特定的称为根的结点。当n&…

07_游戏加载窗口

隐藏动态提示窗口 创建空节点 命名为 LoadingWnd 意为加载窗口 并设置全屏 在子级下创建Image作为加载背景 也设置成全屏 将以下资源放进Art文件夹中 设置好精灵模式后拖拽至 Image的Source Image框选 创建文本作为提示内容 增加描边组件OutLine可以美化字体 创建Image作为加载…

「全网最细 + 实战源码案例」设计模式——工厂方法模式

核心思想 简单工厂模式是一种创建者模式,它通过一个工厂类负责创建不同类型的对象,根据传入的参数决定实例化的具体类,也被称为“静态工厂方法”模式,因为工厂方法通常是静态的。 结构 1. 工厂类: 提供一个静态方法…