Python大数据分析与挖掘实战

您所在的位置:网站首页 数据分析基础课程思路设计题 Python大数据分析与挖掘实战

Python大数据分析与挖掘实战

2024-07-14 22:19| 来源: 网络整理| 查看: 265

目录

2.Chapter3

2.1 Question:

2.2 Answer:

2.2.1 分析此类题的模板:

2.2.2 解题分析:

2.2.3 总结

2.Chapter3 2.1 Question:

1) 读取以下Excel表格的数据并用一个数据框变量df保存,数据内容如下所示。

test2.xlsx

2)对df第3列、第4列进行切片,切片后得到一个新的数据框记为df1,并对df1利用自身的方法转换为Numpy数组Nt。

3)基于df第2列,构造一个逻辑数组TF,即满足交易日期小于等于2017-01-16且大于等于2017-01-05为真,否则为假。

4) 以逻辑数组TF为索引,取数组Nt中的第2列交易量数据并求和,记为S。

2.2 Answer: 2.2.1 分析此类题的模板:

首先,打开Excel文件,选择所需的数据区域,然后使用Python的pandas库中的read_excel()函数来读取数据。这里假设文件名称为’stock_data.xlsx’,并创建一个数据框变量df来存储读取的数据。

import pandas as pd df = pd.read_excel('stock_data.xlsx')

接下来,使用数据框的iloc方法来切片选取特定的行。这里我们想要选取第3列到第4列的数据,所以切片范围是从3开始到4结束。然后,使用to_numpy()方法将数据框转换为Numpy数组。

df1 = df.iloc[:, [3, 4]] Nt = df1.to_numpy()

接着,使用Numpy的where函数来构造一个逻辑数组TF。这个逻辑数组的值将为True,当Nt[:, 0](即交易日期)在2017年1月5日到2017年1月16日之间时,其他位置为False。

TF = Nt[:, 0].where(Nt[:, 0] >= '2017/01/05', True).where(Nt[:, 0] = '2017-01-05') & (df['交易日期'] = '2017-01-05') & (df['交易日期'] = '2017-01-05') & (df['交易日期']


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3