Python作业

已知 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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值