1:C 2:A 3:A 4:D 5:D 6:C 7:B 8:D
(请在问题下面的空白框写出代码并执行以输出结果)
(1)创建一个2*2的数组,计算对角线上元素的和。
import numpy as np
a=np.array([[1,2],[3,4]]);a
array([[1, 2], [3, 4]])
sum1=a[0][0]+a[1][1];sum1
5
sum2=a[0][1]+a[1][0];sum2
5
(2)创建一个长度为9的一维数据,数组元素0~8,并将它重新变为3*3的二维数组。
b=np.arange(9);b
array([0, 1, 2, 3, 4, 5, 6, 7, 8])
B=b.reshape((3,3));B
array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
(3)创建两个33的数组,分别将它们合并为36、6*3的数组后,拆分为3个数组。
c=np.arange(9).reshape(3,3);c #该数组内容可自定义
array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
d=np.ones((3,3));d #该数组内容可自定义
array([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])
e=np.hstack((c,d));e #合并成3*6的数组
array([[0., 1., 2., 1., 1., 1.], [3., 4., 5., 1., 1., 1.], [6., 7., 8., 1., 1., 1.]])
f= np.vstack((c,d));f #合并成6*3的数组
array([[0., 1., 2.], [3., 4., 5.], [6., 7., 8.], [1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])
np.hsplit(f,3) #f分拆成3个数组
[array([[0.], [3.], [6.], [1.], [1.], [1.]]), array([[1.], [4.], [7.], [1.], [1.], [1.]]), array([[2.], [5.], [8.], [1.], [1.], [1.]])]
np.vsplit(e,3) #e分拆成3个数组
[array([[0., 1., 2., 1., 1., 1.]]), array([[3., 4., 5., 1., 1., 1.]]), array([[6., 7., 8., 1., 1., 1.]])]
2.调查数据。某公司对财务部门人员的抽烟状态进行调查,结果为:
否,否,否,是,是,否,否,是,否,是,否,否,是,是,否,是,否,否,是,是。
(1)请用列表录入该数据。
marriage=['否','否','否','是','是','否','否','是','否','是','否','否','是','是','否','是','否','否','是','是'];
print(marriage)
['否', '否', '否', '是', '是', '否', '否', '是', '否', '是', '否', '否', '是', '是', '否', '是', '否', '否', '是', '是']
(2)请将这组数据输入电子表格,并将其读入Python。
import pandas as pd
pd.set_option('display.max_rows', 8)
marriage1=pd.read_excel('mydata1.xlsx','3.2');marriage1
抽烟状况 | |
---|---|
0 | 否 |
1 | 否 |
2 | 否 |
3 | 是 |
... | ... |
16 | 否 |
17 | 否 |
18 | 是 |
19 | 是 |
20 rows × 1 columns
(1)将上面的4组数据写入其中的表单。
data21=pd.read_excel('mydata1.xlsx','2.1');data21
1465 | |
---|---|
0 | 1405 |
1 | 1355 |
2 | 1225 |
3 | 1000 |
... | ... |
45 | 2550 |
46 | 2520 |
47 | 2370 |
48 | 2320 |
49 rows × 1 columns
(2)分别用Python的read_csv和read_excel函数读取
data211=pd.read_csv('2.1.csv',encoding='utf-8');data211
1465 | |
---|---|
0 | 1405 |
1 | 1355 |
2 | 1225 |
3 | 1000 |
... | ... |
45 | 2550 |
46 | 2520 |
47 | 2370 |
48 | 2320 |
49 rows × 1 columns
data22=pd.read_excel('mydata1.xlsx','2.2');data22
编号 | 是否抽烟 | 每天学习时间 | |
---|---|---|---|
0 | 1 | 是 | 少于5小时 |
1 | 2 | 否 | 5~10小时 |
2 | 3 | 否 | 5~10小时 |
3 | 4 | 是 | 超过10小时 |
... | ... | ... | ... |
6 | 7 | 是 | 5~10小时 |
7 | 8 | 是 | 少于5小时 |
8 | 9 | 否 | 超过10小时 |
9 | 10 | 是 | 5~10小时 |
10 rows × 3 columns
data221=pd.read_csv('2.2.csv',encoding='GBK');data221 #有时需用utf-8格式
编号 | 是否抽烟 | 每天学习时间 | |
---|---|---|---|
0 | 1 | 是 | 少于5小时 |
1 | 2 | 否 | 5~10小时 |
2 | 3 | 否 | 5~10小时 |
3 | 4 | 是 | 超过10小时 |
... | ... | ... | ... |
6 | 7 | 是 | 5~10小时 |
7 | 8 | 是 | 少于5小时 |
8 | 9 | 否 | 超过10小时 |
9 | 10 | 是 | 5~10小时 |
10 rows × 3 columns
data23=pd.read_excel('mydata1.xlsx','2.3');data23
编号 | 性别 | 数学 | 统计学 | |
---|---|---|---|---|
0 | 1 | M | 81 | 72 |
1 | 2 | F | 90 | 90 |
2 | 3 | F | 91 | 96 |
3 | 4 | M | 74 | 68 |
... | ... | ... | ... | ... |
20 | 21 | M | 70 | 82 |
21 | 22 | M | 54 | 56 |
22 | 23 | F | 93 | 98 |
23 | 24 | M | 68 | 76 |
24 rows × 4 columns
data231=pd.read_csv('2.3.csv',encoding='GBK');data231 #有时需用utf-8格式
编号 | 性别 | 数学 | 统计学 | |
---|---|---|---|---|
0 | 1 | M | 81 | 72 |
1 | 2 | F | 90 | 90 |
2 | 3 | F | 91 | 96 |
3 | 4 | M | 74 | 68 |
... | ... | ... | ... | ... |
20 | 21 | M | 70 | 82 |
21 | 22 | M | 54 | 56 |
22 | 23 | F | 93 | 98 |
23 | 24 | M | 68 | 76 |
24 rows × 4 columns
(3)对其中的学生数据,用Python方法获取性别、数学成绩和统计成绩变量,并筛选不同性别学生的成绩。
datastudent=pd.read_excel('mydata1.xlsx','2.3');datastudent
编号 | 性别 | 数学 | 统计学 | |
---|---|---|---|---|
0 | 1 | M | 81 | 72 |
1 | 2 | F | 90 | 90 |
2 | 3 | F | 91 | 96 |
3 | 4 | M | 74 | 68 |
... | ... | ... | ... | ... |
20 | 21 | M | 70 | 82 |
21 | 22 | M | 54 | 56 |
22 | 23 | F | 93 | 98 |
23 | 24 | M | 68 | 76 |
24 rows × 4 columns
datastudent[datastudent['性别']=='F'] #筛选性别为女性的学生成绩
编号 | 性别 | 数学 | 统计学 | |
---|---|---|---|---|
1 | 2 | F | 90 | 90 |
2 | 3 | F | 91 | 96 |
4 | 5 | F | 70 | 82 |
5 | 6 | F | 73 | 78 |
... | ... | ... | ... | ... |
16 | 17 | F | 66 | 58 |
18 | 19 | F | 80 | 86 |
19 | 20 | F | 85 | 84 |
22 | 23 | F | 93 | 98 |
12 rows × 4 columns
datastudent[datastudent['性别']=='M'] #筛选性别为男性的学生成绩
编号 | 性别 | 数学 | 统计学 | |
---|---|---|---|---|
0 | 1 | M | 81 | 72 |
3 | 4 | M | 74 | 68 |
6 | 7 | M | 88 | 89 |
7 | 8 | M | 78 | 82 |
... | ... | ... | ... | ... |
17 | 18 | M | 84 | 87 |
20 | 21 | M | 70 | 82 |
21 | 22 | M | 54 | 56 |
23 | 24 | M | 68 | 76 |
12 rows × 4 columns