首页 > 编程语言 >Python大数据复习题

Python大数据复习题

时间:2024-07-02 22:56:46浏览次数:3  
标签:plt Python 复习题 np pd iloc print import 数据

Python大数据复习题

第一章

  1. 创建一个Python脚本,命名为test1.py,实现以下功能。
  1. 定义一个元组t1=(1,2,‘py’,‘matlab’)和一个空列表list1。
  2. 以while循环的方式,用append()函数依次向list1中添加t1中的元素。
  3. 定义一个空字典,命名为dict1。
  4. 定义一个嵌套列表Li=[‘k’,[3,4,5],(1,2,6),18,50],采用for循环的方式,用setdefault()函数依次将Li中的元素添加到dict1中,其中Li元素对应的键依次为a、b、c、d、e。

答案:

t1=(1,2,'R','py','Matlab')
list1=[]
i = 0
while i<len(t1):
    list1.append(t1[i])
    i=i+1
print(list1)
dict1={}
Li=['k',[3,4,5],(1,2,6),18,50]
Li2=['a','b','c','d','e']
for index,value in zip(Li2,Li):
    dict1.setdefault(index,value)
print(dict1)

  1. 创建一个Python脚本,命名为test2.py,实现以下功能。
  1. 定义一个函数,用于计算圆柱体的表面积、体积,函数名为comput,输入参数为底半径(r)、高(h),返回值为表面积(S)、体积(V),返回多值的函数,可以用元组来表示。
  2. 调用定义的函数comput(),计算底半径(r)=10、高(h)=11的圆柱体表面积和体积,并输出结果。

答案:

def comput(r,h):
    s=r**2*3.14*2+2*r*3.14*h
    v=r**2*3.14*h
    return s,v
print(comput(10,11))

第二章

  1. 创建一个Python脚本,命名为test1.py,实现以下功能。
  1. 定义一个列表list1=[1,2,4,6,7,8],将其转化为数组N1。
  2. 定义一个元组tup1=(1,2,3,4,5,6,),将其转化为数组N2。
  3. 利用内置函数,定义一个1行6列元素全为1的数组N3。
  4. 将N1、N2、N3垂直连接,形成一个3行6列的二维数组N4。
  5. 将N4保存为Python二进制数据文件(npy格式)。

答案:

import numpy as np
list1 = [1,2,3,4,6,8]
N1 = np.array(list1)

tup1 = (1,2,3,4,5,6)
N2 = np.array(tup1)

N3 = [[1]*6 for i in range(1)]
N3 = np.ones([1,6])

N4 = np.vstack((N1,N2,N3))
print(N4)
np.save('N4',N4
)

  1. 创建一个Python脚本,命名为test2.py,实现以下功能。
  1. 加载练习一中生成的Python二进制数据文件,获得数组N4。
  2. 提取N4第1行中的第2个、第4个元素,第3行中的第1个、第5个元素,组成一个新的二维数组N5。
  3. 将N5与练习1中的N1进行水平合并,生成一个新的二维数组N6。

答案:

import numpy as np
N4 = np.load('N4.npy')
N5 = np.array([N4[0][1],N4[0][3],N4[2][0],N4[2][4]])
N1 = np.array(N4[0])
print(N5)
print(N1)
N6 = np.hstack((N5,N1))    #数组的水平连接
print(N6)

  1. 创建一个Python脚本,命名为test3.py,实现以下功能。
  1. 生成两个2×2矩阵,并计算矩阵的乘积。
  2. 求矩阵 A=3-1-13的特征值和特征向量。
  3. 设有矩A=41187    14-2,试对其进行奇异分解。
  4. 设有行列式D= 468469568 ,对其转置行列式DT,并计算D和DT

答案:

import numpy as np

arr = np.matrix([[1,4],[1,6]])

arr1 = np.matrix([[2,4],[3,6]])

a = arr*arr1

print("*********************************")

print(a)

print("*********************************")

a1,a2 = np.linalg.eig(arr1)

print(a1,a2)

print("*********************************")

arr2 = np.asmatrix("4.0,11.0,14.0;8.0,7.0,-2.0")

z1,z2,z3 = np.linalg.svd(arr2,full_matrices=False)

print(z1,z2,z3)

print("*********************************")

arr3 = np.asmatrix("3,4;5,6")

arr4 = arr3.T

print(arr4)

print("**********************************")

q = np.linalg.det(arr3)

print(q)

第三章

1.创建一个Python脚本,命名为test1.py实现以下功能。

(1)读取以下4位同学的成绩,用一个数据框变量pd进行保存,并将成绩保存在一个TXT文件中。 

(2)对数据框变量pd进行切片操作,分别获得小红、张明、小江、小李的各科成绩,它们是4个数据框变量,分别记为pd1、pd2、pd3、pd4。

(3)利用数据框中自身的聚合计算方法,计算并获得每个同学各科成绩的平均分,记为M1, M2, M3, M4。

答案:

import pandas as pd

pd = pd.read_table('test1.txt',sep=',')

print(pd)

pd1=pd.iloc[0:3]

pd2=pd.iloc[3:6]

pd3=pd.iloc[6:9]

pd4=pd.iloc[9:12]

print(pd1)

print(pd2)

print(pd3)

print(pd4)

M1=pd1.iloc[0:,2].mean()

M2=pd2.iloc[0:,2].mean()

M3=pd3.iloc[0:,2].mean()

M4=pd4.iloc[0:,2].mean()

print(M1)

print(M2)

print(M3)

print(M4)

2.创建一个Python脚本,命名为test2.py,实现以下功能。

(1)读取以下Excel表格的数据并用个数据框变量df保存。

(2)对df第3列、第4列进行切片,切片后得到一个新的数据框记为df1,并对df1利用自身的方法转化为NumPy数组Nt。

(3)基于df第2列,构造一个逻辑数组 TF,即满足交易日期小于等于2017-01-16且大于等于2017-01-05为真,否则为假。

(4)以逻辑数组 TF为索引,取数组Nt中的第2列交易量数据并求和,记为S。

答案:

import numpy as np
import pandas as pd
df=pd.read_excel('test2.xlsx')
print(df)
df1=df.iloc[:,[2,3]]
Nt=np.array(df1)
print(df1)
print("**********************************")
print(Nt)
print("***********************************")
df2=pd.read_excel('test2.xlsx',dtype=str)
index1=df2['
交易日期'].values>='2017-01-05'
index2=df2['
交易日期'].values<='2017-01-16'
TF=index1&index2
print(TF)
print("************************************")
S=sum(Nt[TF,1])
print(S)

第四章

创建一个Python脚本,命名为test1.py,完成以下功能:

  1. 今有2018年1月1日—15日的猪肉价格和牛肉价格的数据,它们存在于一个Excel 表格中。将其读入 Python中并用一个数据框变量df保存。
  2. 分别绘制1月1日—10日的猪肉价格和牛肉价格走势图。
  3. 在同一个figure界面中,用一个2×1得子图分别绘制2018年1月前半个月的猪肉价格和牛肉价格走势图。

答案:

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import font_manager
df=pd.read_excel('data.xlsx')
print(df)
print("********************************")
#
第二题(1
x1 = df.iloc[:10,:][["日期"]].values[:,0]
y1 = df.iloc[:10,:][["
猪肉价格"]].values[:,0]
plt.rcParams['font.sans-serif']='SimHei'
plt.figure(figsize=(25,10))
plt.subplot(1,2,1)
plt.title("
猪肉价格走势图",fontsize=20)
plt.xlabel("
日期",fontsize=20)
plt.ylabel("
猪肉价格",fontsize=20)
plt.legend
plt.xticks(rotation=45)
plt.plot(x1,y1,'r*--')
plt.show()
#
2
x2 = df.iloc[:10,:][["日期"]].values[:,0]
y2 = df.iloc[:10,:][["
牛肉价格"]].values[:,0]
plt.rcParams['font.sans-serif']='SimHei'
plt.subplot(1,2,1)
plt.title("
牛肉价格走势图",fontsize=20)
plt.xlabel("
日期",fontsize=20)
plt.ylabel("
牛肉价格",fontsize=20)
plt.xticks(rotation=45)
plt.plot(x2,y2,'b*--')
plt.show()
#
第三题(1
x1 = df[['日期']].vallues[:,0]
y1 = df[["
猪肉价格"]].values[:,0]
plt.figure(figsize=(25,22))
plt.subplot(2,1,1)
plt.title("
猪肉价格走势图",fontsize=20)
plt.xlabel("
日期",fontsize=20)
plt.ylabel("
猪肉价格",fontsize=20)
plt.xticks(rotation=45)
plt.plot(x1,y1,'r*--')
plt.show()
#
2
x1 = df[['日期']].values[:,0]
y1 = df[["
牛肉价格"]].values[:,0]
plt.figure(figsize=(25,22))
plt.subplot(2,1,1)
plt.title("
牛肉价格走势图",fontsize=20)
plt.xlabel("
日期",fontsize=20)
plt.ylabel("
牛肉价格",fontsize=20)
plt.xticks(rotation=45)
plt.plot(x1,y1,'b*--')
plt.show()

第五章

  1. 油气藏的储存量密度Y与生油门限以下平均地温梯度X1、生油门限以下总有机碳百分比X2、生油岩体积与沉淀岩体积百分比X3,砂泥岩厚度百分比X4、有机转化率X5有关。

任务如下

(1)利用线性回归分析命令,求出Y与5个因素之间的线性回归关系式系数向量(包括常数项),并在命令窗口输出该系数向量。

(2)求出线性回归关系的判定系数。

(3)今有一个样本X1

=4,X2

=1.5,X3

=10,X4

=17,X5

=9,试预测该样本的Y值。

答案:

import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression as LR
data=pd.read_excel('1.xlsx')
x=data.iloc[:,1:6].values
y=data.iloc[:,6].values
lr=LR()
lr.fit(x,y)
Slr=lr.score(x,y)
c_x=lr.coef_
c_b=lr.intercept_
x1=np.array([4,1.5,10,17,9])
x1=x1.reshape(1,5)
Y=lr.predict(x1)
r1=x1*c_x
Y=r1.sum()+c_x
print('x
回归系数为: ',c_x)
print('
回归系数常数项: ',c_b)
print('
判定系数: ',Slr)
print('
样本预测值: ',Y)

2.企业到金融商业机构贷款,金融商业机构需要对企业进行评估。评估结果为0和1 两种形式,0表示企业两年后破产,将拒绝贷款;而1表示企业2年后具备还款能力,可以贷款。如表5-9所示,已知前20家企业的3项评价指标值和评估结果,试建立逻辑回归模型、支持向量机模型、神经网络模型对剩余5家企业进行评估。

答案:

import pandas as pd
data = pd.read_excel('2.xlsx')
x_train=data.iloc[:20,1:4]
y_train=data.iloc[:20,4]
x_test=data.iloc[20:,1:4]

from sklearn.linear_model import LogisticRegression as LR
clf = LR()
clf.fit(x_train,y_train)
rv=clf.score(x_train,y_train)
R=clf.predict(x_test)
print('
逻辑回归模型拟合准确率: ',rv)
print('
逻辑回归模型评估结果: ',R)

from sklearn import svm
clf = svm.SVC(kernel='rbf')
clf.fit(x_train,y_train)
rv=clf.score(x_train,y_train)
R=clf.predict(x_test)
print('
支持向量机模型拟合准确率: ',rv)
print('
支持向量机评估结果: ',R)

from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver='lbfgs', alpha=1e-5,hidden_layer_sizes=(5,2), random_state=1)
clf.fit(x_train,y_train)
rv=clf.score(x_train,y_train)
R=clf.predict(x_test)
print('
神经网络模型拟合准确率: ',rv)
print('
神经网络评估结果: ',R)

3.我国各地区普通高等教育发展状况数据:x1为每百万人口高等院校数,x2为每十万人口高等院校毕业生数,x3为每十万人口高等院校招生数,x4为母十万人口高等院校在校生数,x5为每十万人口高等院校教职工数,x_6为每十万人口高等院校专职教师数, x7为高级职称占专职教师比例,X8为平均每所高等院校的在校生数,x9为国家财政预算内普通高教经费占国内生产总值比重,x10为生均教育经费。任务如下:

(1)对以上指标数据做主成分分析,并提取主成分(累计贡献率达到0.9以上即可)。

(2)基于提取的主成分,对以下30个地区做K-均值聚类分析(K=4),并在命令窗口输出各类别的地区名称。

答案:

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA

# 1.
数据读取
data = pd.read_excel('3.xlsx')
X=data.iloc[:,1:]
pca=PCA(n_components=0.90)
pca.fit(X)
f=pca.transform(X)  #
主成分
tzxl=pca.components_  #特征向量
tz=pca.explained_variance_  #特征值
gxl=pca.explained_variance_ratio_  #贡献率
f=pd.DataFrame(f)
#
标准化
scaler = StandardScaler()
scaler.fit(f)
XZ=scaler.transform(f)

model = KMeans(n_clusters=4,random_state=0,max_iter=500)
model.fit(XZ)
c=model.labels_


Fs=pd.Series(c,index=data['地区'])
Fs=Fs.sort_values(ascending=True)
print(Fs)

4.公路运量主要包括公路客运量和公路货运量两个方面。根据研究,某地区的公路运量主要与该地区的人数、机动车数量和公路面积有关表5-11给出了某个地区20年的公路运量相关数据。根据相关部门数据,该地区2010年和2011年的人数分别为73.39万和75.55万,机动车数量分别为3.9635万辆和4.0975万辆,公路面积分别为0.9880万平方千米和1.0268万平方千米。请利用 BP神经网络Q 预测该地区2010年和2011年的公路客运量和公路货运量。

答案:

import pandas as pd
import numpy as np
from sklearn.neural_network import MLPRegressor as MP

data = pd.read_excel('4.xlsx')
x_train=data.iloc[:,1:4].values
y_train=data.iloc[:,4:6].values

clf = MP(solver='lbfgs',alpha=1e-5,hidden_layer_sizes=8,random_state=1)
clf.fit(x_train,y_train);

a=np.array([[73.39,3.9635,0.9880],[75.55,4.0957,1.0268]])
y1=clf.predict(a)
y1=pd.DataFrame(y1)

s=[2010,2012]
s=pd.DataFrame(s)

yy=pd.concat([s,y1],axis=1)
yy.columns=['
时间','公路客流量','公路货运量']
print(yy)

5.假设有以下数据集,每行代表一个顾客在超市的购买记录。

I1、西红柿、排骨、鸡蛋、毛巾、水果刀、苹果

I2、西红柿、茄子、水果刀、香蕉

I3、鸡蛋、袜子、毛巾、肥皂、苹果、水果刀

I4、西红柿、排骨、茄子、毛巾、水果刀

I5、西红柿、排骨、酸奶、苹果

I6、鸡蛋、茄子、酸奶、肥皂、苹果、香蕉

I7、排骨、鸡蛋、茄子、水果刀、苹果

I8、土豆、鸡蛋、袜子、香蕉、苹果、水果刀

I9、西红柿、排骨、鞋子、土豆、香蕉、苹果

任务如下

  1. 试利用关联规则支持度和置信度定义挖掘出任意两个商品之间的关联规则。
  2. 试利用Apriori关联规则挖掘算法函数进行关联规则挖掘。

最小支持度和最小置信度分别为0.2和0.4。

答案:

import pandas as pd
import numpy as np
#
第一题
data=pd.read_excel('5.xlsx')
tiem = ['
西红柿', '茄子', '水果刀', '香蕉', '袜子', '毛巾', '肥皂', '排骨', '酸奶', '鸡蛋', '鞋子', '土豆']
D = dict()
for t in range(len(tiem)):
    z = np.zeros((len(data)))
    li = list()
    for k in range(len(data.iloc[0,:])):
        s = data.iloc[:,k] == tiem[t]
        li.extend(list(s[s.values == True].index))
    z[li] = 1
    D.setdefault(tiem[t],z)
Data = pd.DataFrame(D)
print(Data)
#
第二题
c = list(Data.columns)
c0 = 0.4
s0 = 0.2
list1 = []
list2 = []
list3 = []
for k in range(len(c)):
    for q in range(len(c)):
        if c[k]!=c[q]:
            c1 = Data[c[k]]
            c2 = Data[c[q]]
            l1 = c1.values == 1
            l2 = c2.values == 1
            t12 = np.zeros((len(c1)))
            t1 = np.zeros((len(c1)))
            t12[l1 & l2] =1
            t1[l1] = 1
            sp = sum(t12)/len(c1)
            co = sum(t12)/sum(t1)
            if co >= c0 and sp >= s0:
                list1.append(c[k]+'--'+c[q])
                list2.append(sp)
                list3.append(co)
R = {'rule':list1,'support':list2,'confidence':list3}
R = pd.DataFrame(R)
R.to_excel('
导出数据.xlsx')

标签:plt,Python,复习题,np,pd,iloc,print,import,数据
From: https://blog.csdn.net/2301_81812314/article/details/140137496

相关文章

  • python解析Linux top 系统信息并生成动态图表(pandas和matplotlib)
    文章目录0.引言1.功能2.使用步骤3.程序架构流程图结构图4.数据解析模块5.图表绘制模块6.主程序入口7.总结8.附录完整代码0.引言在性能调优和系统监控中,top命令是一种重要工具,提供了实时的系统状态信息,如CPU使用率、内存使用情况和进程状态。然而,仅凭......
  • Python学习笔记
    数据类型和变量字面量:在代码中,被写下来的固定的值。常见有6中,数字、字符串、列表、元组、集合、字典字符串:由任意数量的字符如中文、英文、各类符合、数字等组成。如“你好”,“hello”,在Python中被双引号引起来的就是字符串。注释:在程序代码中对程序代码进行解释说明的文字。......
  • Python 作业题1 (猜数字)
    题目你要根据线索猜出一个三位数。游戏会根据你的猜测给出以下提示之一:如果你猜对一位数字但数字位置不对,则会提示“Pico”;如果你同时猜对了一位数字及其位置,则会提示“Fermi”;如果你猜测的数字及其位置都不对,则会提示“Bagels”。你有10次猜数字机会花十分钟,来实现一下吧......
  • Python 语法 - 海象运算符:=
    前言海象运算符的英文原名叫AssignmentExpresions,即赋值表达式。是Python3.8新增的语法:=,在PEP572中提出。海象运算符之所以叫这个名字是因为这个符号就像是一个海象逆时针90°倒过来一样,符号为一个冒号接着一个等号,是:=这样的。用于条件表达式海象运算符由一个:......
  • Python即学即用教程-第8章 异常
    Python即学即用教程-第8章异常......
  • 数据分表——使用 Mybatis-Plus插件实现动态表名分表(按年份分表、按月份分表)
    本博客适合Mybatis-Plus3.4以上版本,笔者使用版本为3.5.3。分库与分表的原因1.业务场景:日志、交易流水表或者其他数据量大的表,通过日期进行了水平分表,需要通过日期参数,动态的查询数据。实现思路:利用MybatisPlus的动态表名插件DynamicTableNameInnerInterceptor,实现Sql执行......
  • 可视化 Python 打包 exe,这个神器绝了!
    在Python开发中,如何将脚本打包成独立的可执行文件,是许多开发者面临的挑战。特别是在需要将应用程序分发给不具备Python环境的用户时,打包工具显得尤为重要。auto-py-to-exe作为一款强大的Python打包工具,为开发者提供了简便快捷的解决方案。那么,auto-py-to-exe究竟是如何简化打包流......
  • Python基础入门知识
    目录引言      简要介绍Python语言      为什么要学习Python      Python的应用领域Python安装和环境配置      Python的下载和安装(Windows,macOS,Linux)      配置Python环境变量      安装和使用IDE(如PyCharm,VSCode)Python......
  • Spring Boot 中 PGSQL 判断打卡点是否经过轨迹优化代码,循环查询物理表修改生成临时表,
    记录一下一个业务问题,流程是这样的,我现在有一个定时任务,5分钟执行一次,更新车辆打卡的情况。现在有20俩车,每辆车都分配了路线,每条路线都有打卡点,每个打卡点分配了不同的时间段,也就是说,一条路线可能有几百个打卡点,这几百个打卡点中每一个都分配了时间段,有可能是1个时间段,比如8......
  • Advanced Data Analytics Using Python_ With Machine Learning, Deep Learning and N
    本书提供了使用Python进行高级数据分析的方法,涵盖了机器学习、深度学习和自然语言处理的应用实例。书中详细讲解了如何在不同的数据库环境中进行数据提取、转换和加载(ETL),并探讨了监督学习、无监督学习、深度学习、时间序列分析以及大规模数据分析的相关内容。目录简介为......