已知 a 为 4 行 5 列 的二维数组,内容如下所示,请回答以下问题:
1)a[2, 3]、a[2]、a[2][3] 、a[2][:3]、a[:][:3] 、a[:, :3]各自表示什么含义?
2)如果只想获取 第2行 和 第4行 数据,如何表示?
3)如果只想获取 第3列 和 第5列 数据,如何表示?
4)如果想获取大于 10 且 能被 3 整除的数据,如何表示?
5)如何通过一个表达式获取第3行第4列、第2行第5列、第4行第1列数据?
6)将该数组垂直平均分割成2个子数组
7)将该数组水平分割为3个子数组:第1列,第2-4列,第5列
import numpy as np
a=np.array([[1,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[16,17,18,19,20]]).reshape(4,5)
print(a[2])
print(a[2][3])
print(a[2][:3])
print(a[:][:3])
print(a[:,:3])
print(a[1:4:2])
print(a[:,[2,4]])
print(a[(a>10) & (a%3==0)])
b=[a[2,3],a[1,4],a[3,0]]
print(b)
c=np.vsplit(a,2)
print(c)
d=np.hsplit(a,[1,4])
print(d)
pandas读取CSV文件
1.将uk_rain.csv中的数据导入到df1中;
2.将列名修改为['water_year','rain_octsep','outflow_octsep','rain_decfeb', 'outflow_decfeb', 'rain_junaug', 'outflow_junaug'];
3.计算df1的总行数并存储在length1中。
4.将修改后的数据存入'new_uk.csv'文件。
import pandas as pd
df1 = pd.read_csv('uk_rain.csv')
df1.columns = ['water_year', 'rain_octsep', 'outflow_octsep', 'rain_decfeb', 'outflow_decfeb', 'rain_junaug', 'outflow_junaug']
print(df1)
length1 = len(df1)
print(df1)
df1.to_csv('new_uk.csv', index=False)
print(df1)
pandas读取excel
将学生基本信息表“xx.xlsx”和期末考试成绩表‘cj.xlsx’读取并保存在df1中。
然后实现以下数据处理:
1.实现按总分成绩从高到低排序
2.打印所有存在不及格科目的学生记录
3.获取数学成绩的最高分、最低分、平均分
4.计算出1班学生的语文平均分
import pandas as pd
df1 = pd.read_excel("cj2.xlsx",header=1)
print(df1)
chinese_pjf = df1[1:4:2] ["语文"].mean()
print("1班学生的语文平均分:", chinese_pjf)
df1 = df1.sort_values('总分', ascending=False)
print(df1)
bjg = df1[(df1["语文"] < 60) | (df1["数学"] < 60) | (df1["英语"] < 60) ]
print("所有存在不及格科目的学生记录:\n",bjg)
math_max = df1["数学"].max()
math_min = df1["数学"].min()
math_pjf = df1["数学"].mean()
print("数学成绩的最高分:", math_max)
print("数学成绩的最低分:", math_min)
print("数学成绩的平均分:", math_pjf)
chinese_pjf = df1[3:5]["语文"].mean()
print("1班学生的语文平均分:", chinese_pjf)