python股票数据分析(Pandas)练习

server/2024/12/2 3:20:56/

需求:
使用pandas读取一个CSV文件,文件内容包括股票名称、价格和交易量。完成以下任务:
找出价格最高的股票;
计算总交易量;
绘制价格折线图。

代码实现:

python">import pandas as pd
import matplotlib.pyplot as pltclass StockAnalysis:def __init__(self, csv_file):"""初始化股票数据分析类:param csv_file: 包含股票数据的CSV文件路径"""self.csv_file = csv_fileself.data = Nonedef load_data(self):"""加载CSV文件数据到Pandas DataFrame"""try:self.data = pd.read_csv(self.csv_file)print("数据加载成功!")print(self.data.head())  # 打印前5行数据进行检查except FileNotFoundError:print("文件未找到,请检查文件路径!")def analyze_data(self):"""分析股票数据:找出价格最高的股票和计算总交易量"""if self.data is not None:# 找出价格最高的股票max_price_row = self.data.loc[self.data['Price'].idxmax()]print(f"价格最高的股票是:{max_price_row['Stock']},价格为:{max_price_row['Price']}")# 计算总交易量total_volume = self.data['Volume'].sum()print(f"总交易量为:{total_volume}")else:print("数据未加载,无法进行分析!")def plot_price_line_chart(self):"""绘制股票价格折线图"""if self.data is not None:# 绘制折线图plt.figure(figsize=(10, 6))plt.plot(self.data['Stock'], self.data['Price'], marker='o', color='b', label='Price')plt.title("Stock Prices", fontsize=16)plt.xlabel("Stock", fontsize=12)plt.ylabel("Price", fontsize=12)plt.grid(axis='y', linestyle='--', alpha=0.7)plt.legend(fontsize=10)plt.tight_layout()plt.show()else:print("数据未加载,无法绘制图表!")if __name__ == "__main__":# 示例CSV文件路径(需要替换为实际路径)csv_file_path = "stock_data.csv"# 创建股票数据分析类的实例analysis = StockAnalysis(csv_file_path)# 加载数据analysis.load_data()# 数据分析analysis.analyze_data()# 绘制股票价格折线图analysis.plot_price_line_chart()

示例 CSV 文件内容 (stock_data.csv)
以下是一个示例 CSV 文件内容,文件格式应包含以下列:

python">Stock,Price,Volume
Apple,150.5,120000
Google,2800.8,50000
Amazon,3400.9,80000
Microsoft,299.7,70000
Tesla,720.4,60000

代码功能说明

加载数据:
使用 pd.read_csv() 加载 CSV 文件到 Pandas DataFrame 中。
打印文件前 5 行数据以检查文件是否加载成功。

分析数据:
使用 idxmax() 找出价格最高的股票及其价格。
使用 sum() 计算所有股票的总交易量。

绘制折线图:
使用 Matplotlib 绘制股票价格折线图。
横轴为股票名称(Stock),纵轴为价格(Price),并添加标记点。

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

python">数据加载成功!Stock   Price  Volume
0     Apple   150.5  120000
1    Google  2800.8   50000
2    Amazon  3400.9   80000
3  Microsoft   299.7   70000
4     Tesla   720.4   60000价格最高的股票是:Amazon,价格为:3400.9
总交易量为:380000

折线图
X 轴:股票名称(Apple, Google, Amazon…)。
Y 轴:对应股票价格。
折线带有标记点,展示股票价格的趋势。


http://www.ppmy.cn/server/146604.html

相关文章

docker从入门到入土

卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ …

mind+自定义库编写注意事项

在mind图形化命令编写中,main.ts 文件是通过图形化编程工具生成 C 代码,然后将生成的 C 代码上传到 Arduino Uno 上执行。 这些由main.ts定义的图形化代码通过生成的代码,需要包含调用arduinoc/libraries文件夹的*.h和*.cpp文件&#…

STM32 使用ARM Compiler V6 编译裸机 LWIP协议栈报错的解决方法

在lwip 的cc.h 中使用以下宏定义,来兼容 V5 和 V6编译器 #if defined (__ARMCC_VERSION) && (__ARMCC_VERSION > 6010050) /* ARM Compiler V6 */ #define __CC_ARM /* when use v6 compiler define this */ #endifV6编译的速度确实比V5块了好多倍。 …

unity工程转为安卓使用的aar文件

1.unity导出时选择安卓平台,导出的最终工程如下: 2.将该工程导入AndroidStudio里,File->new->import project, 选择上一步导出的文件夹。导入完成如下: 3.导入进来之后,手动在下方文件夹添加string文件&#xff…

【深度学习】铝箔表面缺陷检测【附链接】

一、铝箔表面缺陷种类 铝箔广泛应用于食品包装、药品包装和工业用途等领域,表面质量直接影响产品的性能和安全性。铝箔表面常见的缺陷主要包括: 划痕:铝箔在生产、加工或运输过程中可能会出现划痕,影响外观和功能。 气泡&#x…

数学题转excel;数学题库;数学试卷转excel;大风车excel

一、数学试卷转excel 有些需要刷题的朋友,需要将题库数学题转为excel格式,便于管理 前端时间帮一位朋友实现了数学题转excel,包括选择题、填空题、分析题 示例: 二、问题 数学题是最难以处理的试题,理由如下 1、有…

一万台服务器用saltstack还是ansible?

一万台服务器用saltstack还是ansible? 选择使用 SaltStack 还是 Ansible 来管理一万台服务器,取决于几个关键因素,如性能、扩展性、易用性、配置管理需求和团队的熟悉度。以下是两者的对比分析,帮助你做出决策: SaltStack&…

汽车渲染领域:Blender 和 UE5 哪款更适用?两者区别?

在汽车渲染领域,选择合适的工具对于实现高质量的视觉效果至关重要。Blender和UE5(Unreal Engine 5)作为两大主流3D软件,各自在渲染动画方面有着显著的差异。本文将从核心定位与用途、工作流程、渲染技术和灵活性、后期处理与合成四…