某农业学校python(七)

实验4.1:Numpy数据分析

题目描述:利用numpy库完成2项编程任务。实验效果如图1所示。

(1)创建一个一维数组arr1,存放10个[10, 99]随机整数,计算其最大值,最小值和平均值。

(2)创建一个二维数组arr2,存放5行5列共25个[10, 99]随机整数,计算其最大值,最小值和平均值。

提示:方法1:使用numpy.array( )函数创建,通过列表生成数组对象。

方法2:使用numpy.random.randint(10,99,size=[1,10])创建随机整数数组,max、min等参见9-1讲P18的元素计算。(注:方法2可以见证Numpy的显著优势

图1

import numpy as np
import random
#1
list1 = []
for i in range(10):
    n = int(random.uniform(10,100))
    if n in list1:
        pass
    else:
        list1.append(n)

#print(list1)
arr1 = np.array(list1)
print(arr1)
print("最大值={0} 最小值={1} 平均值={2}".format(arr1.max(),arr1.min(),arr1.sum()/10))

#2
list2 = []
for i in range(5):
    temp1 = []
    for j in range(5):
        temp = int(random.uniform(10,100))
        temp1.append(temp)
    list2.append(temp1)
arr2 = np.array(list2)
print(arr2)
print("最大值={0} 最小值={1} 平均值={2}".format(arr2.max(),arr2.min(),arr2.sum()/25))

实验4.2Pandas数据分析

题目描述:利用pandas库完成2项编程任务。

(1)利用列表、元组和字典分别创建3个一级索引的数据结构Series。实验效果如图2-1所示。

(2)利用字典和Series分别创建2个二级索引的数据结构DataFrame。实验效果如图2-2所示。

提示:参见9-2讲P3和P6使用pandas.Series( )和pandas.DataFrame( )分别创建一维Series和二维DataFrame数据结构.

                                

                                                               图2-1        

                                                               

                                                                图2-2

import pandas
from pandas import Series
from pandas import DataFrame

#1
print("通过列表创建第一个数据结构:")
series_list1 = Series([98,88,78,68],index=["No1","No2","No3","No4"])
print(series_list1)

print("通过元组创建第二个数据结构:")
series_tuple1 = Series(('c++程序设计','Python程序设计','Java程序设计','物联网工程'),
                      index=["CId0001","CId0002","CId0003","CId0004"])
print(series_tuple1)

print("通过字典创建第三个数据结构:")
series_dict1 = Series({'202101':['张三',18,'男','计科2002'],
                       '202102':['李四',18,'男','计科2002'],
                       '202103':['萌萌',18,'男','计科2002'],
                       '202104':['王五',18,'女','计科2002']})
print(series_dict1)

#2
print("创建2个二级索引的DataFrame数据结构:")

obj1 = {
    "学号":["201801","201802","201803","201804","201805"],
    "姓名":["张珊","李斯","王武","赵柳","周琪"],
    "年龄":["18","19","19","18","18"],
    "性别":["女","男","男","女","女"],
    "班级":["计算机1801","计算机1802","计算机1803","计算机1804","计算机1801"]
}
series_dict1 = Series(["2001002",'张珊',38,'女','副教授'],
                      index=["学号","姓名","年龄","性别","职称"])
series_dict2 = Series(["2001021",'李斯',39,'男','副教授'],
                      index=["学号","姓名","年龄","性别","职称"])
series_dict3 = Series(["2001023",'王武',39,'男','副教授'],
                      index=["学号","姓名","年龄","性别","职称"])
series_dict4 = Series(["2001024","赵柳",38,'女','副教授'],
                      index=["学号","姓名","年龄","性别","职称"])
series_dict5 = Series(["2001025","周琪",38,'女','副教授'],
                      index=["学号","姓名","年龄","性别","职称"])
df_obj1 = DataFrame(obj1)
df_obj2 = DataFrame([series_dict1,series_dict2,series_dict3,series_dict4,series_dict5])

print("通过字典创建第一个DataFrame数据结构:")
print(df_obj1)
print("通过Series创建第二个DataFrame数据结构:")
print(df_obj2)

实验4.3Scipy数据分析

题目描述:利用scipy库完成编程任务。

求解线性方程组。如公式(1)所示。                           (1)

提示:参见9-3讲P3使用scipy.mat( )和scipy.linalg.solve( ) 求解线性方程组.

import numpy as np
from scipy import linalg
import scipy

#求解线性方程式
a = scipy.mat('[5 2 3;2 3 -4;3 -4 -5]')
b = scipy.mat('[6;7;8]')
solve = scipy.linalg.solve(a, b)
print(solve)
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值