当前位置:   article > 正文

python Pandas_TEXT实验(读取以下4位同学的成绩并用一个数据框变量pd保存,其中成绩保存在一个TXT文件中...)_创建一个python脚本,命名为test1.py,完成以下功能: 读取以下4位同学的成绩并用一

创建一个python脚本,命名为test1.py,完成以下功能: 读取以下4位同学的成绩并用一

目录

1.(1)读取以下4位同学的成绩并用一个数据框变量pd保存,其中成绩保存在一个TXT文件中,如图所示。

(2)对数据框变量pd进行切片操作,分别获得小红、张明、小江、小李的各科成绩,它们是4个数据框变量,分别记为pd1、pd2、pd3、pd4。

(3)利用数据框中自身的聚合计算方法,计算并获得每个同学各科成绩的平均分,记为M1、M2、M3、M4。

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

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

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

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


1.(1)读取以下4位同学的成绩并用一个数据框变量pd保存,其中成绩保存在一个TXT文件中,如图所示。

文件下载链接icon-default.png?t=M276https://pan.baidu.com/s/1kNJ6Vwo5kat52tO7ttDHmA?pwd=sh6r

  1. In:import pandas as pd
  2. import numpy as np
  3. pd=pd.read_table('test1.txt',sep=',')
  4. pd
  5. Out: 姓名 科目 成绩
  6. 0 小红 语文 100
  7. 1 小红 英语 90
  8. 2 小红 数学 75
  9. 3 张明 语文 80
  10. 4 张明 英语 76
  11. 5 张明 数学 88
  12. 6 小江 语文 79
  13. 7 小江 数学 120
  14. 8 小江 英语 80
  15. 9 小李 英语 87
  16. 10 小李 语文 99
  17. 11 小李 数学 76

(2)对数据框变量pd进行切片操作,分别获得小红、张明、小江、小李的各科成绩,它们是4个数据框变量,分别记为pd1、pd2、pd3、pd4。

  1. In:pd1=pd.iloc[0:3]
  2. pd1
  3. Out: 姓名 科目 成绩
  4. 0 小红 语文 100
  5. 1 小红 英语 90
  6. 2 小红 数学 75
  7. In:pd2=pd.iloc[3:6]
  8. pd2
  9. Out: 姓名 科目 成绩
  10. 3 张明 语文 80
  11. 4 张明 英语 76
  12. 5 张明 数学 88
  13. In:pd3=pd.iloc[6:9]
  14. pd3
  15. Out: 姓名 科目 成绩
  16. 6 小江 语文 79
  17. 7 小江 数学 120
  18. 8 小江 英语 80
  19. In:pd4=pd.iloc[9:12]
  20. pd4
  21. Out: 姓名 科目 成绩
  22. 9 小李 英语 87
  23. 10 小李 语文 99
  24. 11 小李 数学 76

(3)利用数据框中自身的聚合计算方法,计算并获得每个同学各科成绩的平均分,记为M1、M2、M3、M4。

  1. In:M1=pd1.mean()
  2. M1
  3. Out:成绩 88.333333
  4. dtype: float64
  5. In:M2=pd2.mean()
  6. M3=pd3.mean()
  7. M4=pd4.mean()
  8. In:M2
  9. Out:成绩 81.333333
  10. dtype: float64
  11. In:M3
  12. Out:成绩 93.0
  13. dtype: float64
  14. In:M4
  15. Out:成绩 87.333333
  16. dtype: float64

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

 

 文件下载链接icon-default.png?t=M276https://pan.baidu.com/s/1F59EdzN3X9BQCN53N5R_xw?pwd=73rm

  1. In:df=pd.read_excel('test2.xlsx')
  2. df
  3. Out:
  4. 股票代码 交易日期 收盘价 交易量
  5. 0 600000 2017-01-03 16.30 16237125
  6. 1 600000 2017-01-04 16.33 29658734
  7. 2 600000 2017-01-05 16.30 26437646
  8. 3 600000 2017-01-06 16.18 17195598
  9. 4 600000 2017-01-09 16.20 14908745
  10. 5 600000 2017-01-10 16.19 7996756
  11. 6 600000 2017-01-11 16.16 9193332
  12. 7 600000 2017-01-12 16.12 8296150
  13. 8 600000 2017-01-13 16.27 19034143
  14. 9 600000 2017-01-16 16.56 53304724
  15. 10 600000 2017-01-17 16.40 12555292
  16. 11 600000 2017-01-18 16.48 11478663
  17. 12 600000 2017-01-19 16.54 12180687
  18. 13 600000 2017-01-20 16.60 14288268

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

  1. In:df1=df.iloc[[0,1,2,3,4,5,6,7,8,9,10,11,12,13],[2,3]]
  2. df1
  3. Out:
  4. 收盘价 交易量
  5. 0 16.30 16237125
  6. 1 16.33 29658734
  7. 2 16.30 26437646
  8. 3 16.18 17195598
  9. 4 16.20 14908745
  10. 5 16.19 7996756
  11. 6 16.16 9193332
  12. 7 16.12 8296150
  13. 8 16.27 19034143
  14. 9 16.56 53304724
  15. 10 16.40 12555292
  16. 11 16.48 11478663
  17. 12 16.54 12180687
  18. 13 16.60 14288268
  19. In:Nt=np.array(df1)
  20. Nt
  21. Out:
  22. array([[1.6300000e+01, 1.6237125e+07],
  23. [1.6330000e+01, 2.9658734e+07],
  24. [1.6300000e+01, 2.6437646e+07],
  25. [1.6180000e+01, 1.7195598e+07],
  26. [1.6200000e+01, 1.4908745e+07],
  27. [1.6190000e+01, 7.9967560e+06],
  28. [1.6160000e+01, 9.1933320e+06],
  29. [1.6120000e+01, 8.2961500e+06],
  30. [1.6270000e+01, 1.9034143e+07],
  31. [1.6560000e+01, 5.3304724e+07],
  32. [1.6400000e+01, 1.2555292e+07],
  33. [1.6480000e+01, 1.1478663e+07],
  34. [1.6540000e+01, 1.2180687e+07],
  35. [1.6600000e+01, 1.4288268e+07]])

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

  1. In:df2=pd.read_excel('test2.xlsx',dtype=str)
  2. index1=df2['交易日期'].values>='2017-01-05'
  3. index2=df2['交易日期'].values<='2017-01-16'
  4. TF=index1&index2
  5. TF
  6. Out:array([False, False, True, True, True, True, True, True, True,
  7. False, False, False, False, False])

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

  1. In:S=sum(Nt[TF, 1])
  2. S
  3. Out:103062370.0

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/770100
推荐阅读
相关标签
  

闽ICP备14008679号