1 # C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls
2 # C:\Users\11059\Desktop\平时成绩记录表.xls
3 # 1. (其它)
4 # 导入pandas模块;
5 # 获取数据,导入待处理数据平时成绩记录表.xls,并显示前5行。
6
7 import pandas as pd
8 pd.set_option('display.unicode.east_asian_width',True)
9 # ,usecols=[1,2,3,4],nrows =5
10 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0,usecols=[1,2,3,4],nrows =5)
11 print(df.head())
12
13
14
15
16 # 2. (其它)
17 import pandas as pd
18
19 # 将此表另存为csv类型数据后,导入并显示前3行以及前4列。
20 print('# 将此表另存为csv类型数据后,导入并显示前3行以及前4列。\n')
21 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
22 pff=pd.DataFrame(df)
23 #保存为.csv格式文件
24 pff.to_csv(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.csv',mode='a',header=False,encoding='gbk',index = False)
25 df=pd.read_csv(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.csv',engine='python',encoding='gbk',nrows =3,usecols=[1,2,3,4])
26 csv_student=pd.DataFrame(df)
27 print(csv_student,'\n\n')
28 print('# 将此表另存为txt类型数据后,导入并显示前5行以及前3列。','\n')
29
30 # 将此表另存为txt类型数据后,导入并显示前5行以及前3列。
31 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
32 pff=pd.DataFrame(df)
33 pff.to_csv(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.txt',mode='a',header=False,encoding='gbk',index = False)
34 df=pd.read_csv(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.txt',engine='python',encoding='gbk',nrows =5,usecols=[1,2,3])
35 csv_student=pd.DataFrame(df)
36 print(csv_student)
37
38
39
40
41
42 # 3. (其它) 利用shape方法获取平时成绩记录表.xls的大小
43
44 import pandas as pd
45 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
46 pff=pd.DataFrame(df)
47 print(pff.shape)
48 # print(pff['学号'].count())
49
50
51
52
53
54 # 4. (其它) 利用info()方法获取平时成绩记录表.xls中的数据类型。
55 import pandas as pd
56 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
57 pff=pd.DataFrame(df)
58 print(pff.info())
59
60
61
62
63
64 # 5. (其它) 利用describe()方法查看数据的描述信息。
65
66 import pandas as pd
67 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
68 pff=pd.DataFrame(df)
69 print(pff.describe())
70
71
72
73
74
75
76 # 6. (其它)
77 # 将学号列设置为平时成绩记录表.xls中的行索引。
78
79 import pandas as pd
80 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
81 df2=df.set_index('学号')
82 print(df2)
83
84
85
86
87
88
89 # 7. (其它) 填充成绩表中列名为“1”的第一次平时成绩值,然后利用普通索引(列名)
90 # 输出“姓名”,“专业班级”,“1”这3列的前5名学生数据。
91
92 import random
93 import pandas as pd
94 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
95 pff=pd.DataFrame(df)
96
97 # 追加“第一次平时成绩值”
98 list_1=[]
99 # print(pff['学号'].count())
100 row_count=pff['学号'].count()
101 for num in range(0,row_count):
102 ran=int(random.randint(60,100))
103 list_1.append(ran)
104 pff.loc[0:99,('1')]=list_1
105 # pff.set_option('display.unicode.east_asian_width',True)
106 print(pff.loc[0:4,['姓名','专业班级','1']])
107
108 pd.set_option('display.unicode.east_asian_width',True)
109 # ,usecols=[1,2,3,4],nrows =5
110 df22=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0,usecols=[1,2,3,4],nrows =5)
111 print(df22.head())
112
113
114
115
116 # 8. (其它) 利用位置索引+位置索引选择输出你以及你前后一共3位同学的“学号”,“姓名”以及“1”、“平时成绩总评”。
117
118 import pandas as pd
119 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
120 pff=pd.DataFrame(df)
121 # 追加“第一次平时成绩值”
122 list_1=[]
123 row_count=pff['学号'].count()
124 for num in range(0,row_count):
125 ran=int(random.randint(60,100))
126 list_1.append(ran)
127 pff.loc[0:99,('1')]=list_1
128
129 pff2=pff[pff['姓名']=='孙武浩']
130 index_sunwuhao=pff2.index[0]
131 low=(index_sunwuhao-1)
132 high=index_sunwuhao+2
133 print(pff.iloc[low:high,[2,3,4,10]])
134
135
136
137
138 # 9. (其它)
139 # 分别抽取以下分数段的数据:
140 # 1.抽取60分以下的同学数据;
141 # 2.抽取70分-79分的同学数据;
142 # 3.抽取90分-100分的同学数据。
143 import random
144 import pandas as pd
145 df=pd.read_excel(r'C:\Users\11059\Desktop\python 可视化作业文件\第八次作业文件\平时成绩记录表.xls',header=0)
146 pff=pd.DataFrame(df)
147
148 # 追加“第一次平时成绩值”
149 list_1=[]
150 # print(pff['学号'].count())
151 row_count=pff['学号'].count()
152 for num in range(0,row_count):
153 ran=int(random.randint(50,100))
154 list_1.append(ran)
155 pff.loc[0:99,('1')]=list_1
156
157 # 六十分以下的数据:
158 pff_60=pff[pff['1']<60]
159 print('\n六十分以下的数据:\n',pff_60.iloc[0:,2:5])
160
161 # 70分-79分的同学数据;
162 pff_60_70=pff[(pff['1']>=70) & (pff['1']<79)]
163 print('\n70分-79分的同学数据:\n',pff_60_70.iloc[0:,2:5])
164
165 # 抽取90分-100分的同学数据。;
166 pff_60_70=pff[(pff['1']>=90) & (pff['1']<100)]
167 print('\n抽取90分-100分的同学数据。:\n',pff_60_70.iloc[0:,2:5])