Python大数据分析与挖掘实战 |
您所在的位置:网站首页 › 数据分析基础课程思路设计题 › Python大数据分析与挖掘实战 |
目录 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 |