栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python期末考试资料

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python期末考试资料

# %load bisai.py
import pandas as pd
from sqlalchemy import create_engine
import matplotlib.pyplot as plt

engine = create_engine('mysql+mysqlconnector://root:675041@127.0.0.1:3306/world')
sql = 'select * from  radar_lines_copy'
datas = pd.read_sql(sql, engine)

print('===***原数据条数为***===')
print(datas.shape[0])

for i in datas['accommodation_num']:
    try:
        i = float(i)
    except:
        datas = datas[datas['accommodation_num'] != i]
print('===***异常处理后据条数为***===')
print(datas.shape[0])

datas["lease_rate"] = datas["lease_rate"].astype(float)
datas['accommodation_num'] = datas['accommodation_num'].astype(float)

datas = datas.drop_duplicates()
print('===***删除重复值后据条数为***===')
print(datas.shape[0])

datas.dropna(subset=['province'], how='all', axis=0, inplace=True)
print('===***删除省份为空的数据后据条数为***===')
print(datas.shape[0])

city_isnull = datas.loc[datas['lease_rate'].isnull()]
province_lst = []
for t in city_isnull['province']:
    province_lst.append(t)
province_lst = pd.unique(province_lst)
print(province_lst)

lst = []
for i in datas.groupby(datas['province']):
    lst.append(list(i)[1])

menan_lst = 0.00
b = []
for i in province_lst:
    for j in lst:
        if i == j['province'].values[0]:
            menan_lst = j['lease_rate'].sample(50).mean()
            datas.loc[(datas['province'] == i) & (datas['lease_rate'].isnull())] = menan_lst

province = []

c = []
f = []
for j in lst:
    province.append(j['province'].values[0])
    mean_rate = datas.loc[datas['province'] == j['province'].values[0]]['lease_rate'].mean()
    sum = datas.loc[datas['province'] == j['province'].values[0]]['accommodation_num'].sum()
    c.append(mean_rate)
    f.append(sum)
    print(sum)
dict = dict(zip(province, c))
e = sorted(dict.items(), key=lambda x: -x[1])[:10]
print('===***有效数据条数为***===')
print(datas.shape[0])
x = []
y = []
for i, j in e:
    x.append(i)
    y.append(j)
for (j, p), i in zip(e, f):
    p = "%.2f" % p
    print("省份:{}=住宿场所数为{}个=出租率为:{}".format(j, i, p))

plt.rcParams['font.sans-serif'] = ['FangSong']
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize=(4, 3))

plt.xlabel('省份')
plt.ylabel('出租率')
plt.bar(x, y)
plt.show()

模拟题

  • 单项选择题
  1. 下列关于ndarray对象描述正确的是( B )。     
  1. ndarray对象中可以存储不同类型的元素  
  2. B、ndarray对象中存储元素的类型必须是相同的
  3. ndarray对象不支持广播操作  D、ndarray对象不具备矢量运算能力"

  1. 下列选项中,不属于ndarray对象属性的是( D )。
  1. shape   B、dtype    C、ndim     D、map

  1. 要想创建一个3 * 4的数组,下列选项正确的是( A )。
  1. np.arange(12).reshape(4, 3)     B、np.arange(12).reshape(3, 4)

C、np.arange(7).reshape(4, 3)      D、np.arange(7).reshape(3, 4)

  1. 关于ndarray对象属性,下列描述错误的是( C )。
  1. ndim属性表示数组轴的个数    B、shape属性表示每个维度上数组的大小

C、size属性表示数组元素的总个数,等于shape属性元组元素的和

D、dtype属性表示数组中元素类型的对象"

  1. 关于创建ndarray对象。下列描述错误的是( A )。

A、使用list()函数可以创建一个ndarray对象  B、通过ones()函数创建元素值都为1的数组

C、ndarray对象可以使用array()函数创建  D、通过zeros()函数创建元素值都是0的数组

  1. 下列函数中,可以用于创建等差数组的函数是(B )。    
  1. empty()  B、arange()   C、zeros()    D、ones()

7、"请阅读下列一段程序:

arr = np.arange(12).reshape(3, 4)

arr.shape

运行上述程序,它最终执行的结果为(C )。

A、3   B、4    C、(3, 4)    D、(1, 2)

  1. 在创建ndarray对象时,可以使用( A)参数来指定元素类型。
  1. dtype     B、dtypes     C、type    D、types

8、"请阅读下列一段示例程序:

import numpy as np

arr1 = np.array([[0], [1], [2]])

arr2 = np.array([1, 2])

result = arr1 + arr2

print(result.shape)

运行上述程序,那么最终输出的结果为( A)。

A、(3, 2)     B、(2, 3)      C、(3, 0)      D、(2, 0)

9、"已知,有如下一个二维数组:

arr2d = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])

如果希望获取元素5,则可以使用(A )实现。

A、arr2d[1, 1]  B、arr2d[1]   C、arr2d[2]    D、arr2d[1, 0]

10、"请阅读下列一段示例程序:

arr2d = np.array([[11, 20, 5],[21, 15, 26],[17, 8, 19]])

arr2d[0:2, 0:2]

运行上述程序,它最终执行的结果为( A)。

A、array([[11, 20],[21, 15]])    B、array([11, 20])      C、array([21, 15])    D、array([11, 21])

11、"请阅读下面一段程序:

arr2d = np.empty((4, 4))             

for i in range(4):

    arr2d[i] = np.arange(i, i + 4)  

arr2d[[0,4],[3,1]]

执行上述程序,它最终输出的结果为(B )。

  1. array([3., 4.])    B、程序抛出IndexError异常   C、array([3., 5.])     D、array([4., 4.])

12、"请阅读下面一段程序:

import numpy as np

np.arange(1, 10, 3)

运行程序,最终执行的结果是(B )。

A、array([1, 4, 7, 10])     B、array([1, 4, 7])     C、array([2, 5, 8])     D、array([3, 6, 9])

  1. 下列关于Pandas库的说法中正确的是(C )。
  1. Pandas中只有两种数据结构       B、Pandas不支持读取文本数据

C、Pandas是在NumPy基础上建立的新程序库  

D、Pandas中Series和DataFrame可以解决数据分析中一切的问题

  1. 关于Series结构,下列描述正确的是( B)。
  1. Series是一个类似于二维数组的对象
  2. Series由一组数据和与之相关的索引两部分构成

C、Series只能保存整数和字符串类型的数据  D、Series的索引默认是从1开始

  1. 下列选项中,不能创建一个Series对象的是(D )。
  1. ser_obj = pd.Series([1, 2, 3, 4, 5]) 
  2. ser_obj = pd.Series({2001: 17.8, 2002: 20.1, 2003: 16.5})

C、ser_obj = pd.Series((1,2,3,4))     D、ser_obj = pd.Series(1,2)

  1. 下列关于DataFrame说法正确的是(C )。
  1. DataFrame结构是由索引和数据组成      B、DataFrame的行索引位于最右侧

C、创建一个DataFrame对象时需要指定索引  D、DataFrame每列的数据类型必须是相同的

  1. 下列方法中,可以将元组转换为MultiIndex对象的是(A )。    

A、from_tuples()     B、from_arrays()    C、from_product()   D、from_list()

  1. 在进行算术运算时,如果希望一次性输出多个统计指标可以使用(B )方法。      

A、statistics()   B、describe()    C、all()     D、results()

  1. 关于Pandas数据读写的说法中,下列描述错误的是(A)。
  1. read_csv()能够读取所有文本数据   B、read_sql()可以读取数据库中的数据

C、to_csv()能够将结构化数据写入到csv文件中

D、to_excel()能够将结构化数据写入到excel文件中

  1. 关于Pandas层次化索引,下列说法错误的是(B )。
  1. 层次化索引是指Pandas对象在一个轴方向上具有多层索引
  2. 层次化索引至多只能有两层索引
  3. 可以使用swaplevel()方法对层次化索引的位置交换顺序

D、使用sort_index()可以对索引进行排序

  1. 下列选项中,用于删除缺失值的方法是(C )。

A、isnull()     B、delete()     C、dropna()     D、fillna()

22、"请阅读下面的程序:

from pandas import Series

import pandas as pd

from numpy import NaN

series_obj = Series([2, 1, NaN])

print(pd.isnull(series_obj))

执行上述程序后,最终输出的结果为(A )。

A.

0    False

1    False

2     True

B.

0    True

1    True

2    False

C.

0    False

1    False

2    False

D.

0    True

1    True

2    True

23、下列选项中,关于fillna()方法描述正确的是(D )。

  1. fillna()方法只能填充替换值为NaN的数据  B、只支持前向填充方式

C、默认可支持填充的最大数量为1   D、fillna()方法可以填充替换值为NaN和None的数据

  1. 下列选项中,关于duplicated()方法描述正确的是( B )。  
  1. duplicate()方法用于删除重复值   B、duplicate()方法用于标记重复值

C、duplicate()方法会改变原始数据   D、duplicate()方法会将重复的数据标记为False

  1. 下列选项中,关于drop_duplicates()方法描述错误的是(A )。  
  1. 仅支持单一特征数据的去重      B、仅对Series和DataFrame对象有效

C、数据去重时默认保留第一个数据  D、该方法不会改变原始数据排列"

  1. 关于异常值的说法,下列选项中描述错误的是(A)。    
  1. 异常值是指样本中明显偏离其余观测值的个别值
  2. 可以使用3σ原则检测异常值     C、可以使用Pandas中的箱线图检测异常值

D、异常值可以使用其它的值来替换

  1. 下列关于数据预处理的说法中,描述不正确的是( D )。
  1. 数据清洗的目的是为了提高数据质量   B、异常值不一定要删除

C、通过drop_duplicates()方法可以删除重复数据

D、concat()函数可以根据一个或多个键将不同的DataFrame进行合并

  1. 关于预处理的说法中,下列选项中描述不正确是( D )。   
  1. concat()函数可以沿着一条轴将多个对象进行堆叠
  2. merge()函数可以根据一个或多个键将不同的DataFrame进行合并
  3. 可以使用rename()方法对索引进行重命名操作

D、unstack()方法可以将列索引旋转为行索引

  1. 以下关于Pandas数据转换的说法中正确的是( D )。  
  1. Pandas不支持重命名轴索引        B、Pandas 通过 cut()函数能够实现哑变量操作

C、Pandas中只能重命名列索引的名称  D、哑变量处理就是将分类变量转换为哑变量矩阵

  1. 下列关于缺失值检测的说法中,正确的是(B)。     
  1. null()和notnull()可以对缺失值进行处理
  2. dropna()方法既可以删除观测记录,也可以删除特征
  3. fillna()方法中用来替换缺失值的值只能是DataFrame对象

D、Pandas库中的interpolate模块包含了多种插值方法

  1. 下列函数中,用于沿着轴方向堆叠Pandas对象的是(A)。 

A、concat()      B、join()     C、merge()      D、combine_first()

  1. 关于数据重塑的说法中,下列选项描述错误的是( C )。   
  1. 数据重塑可以将DataFrame转换为Series     B、stack()方法可以将列索引转换为行索引

C、对一个DataFrame使用stack()方法后返回的一定是一个Series

D、unstack()方法可以将行索引转换为列索引"

  1. 关于哑变量的说法中,下列选项描述错误的是( D )。
  1. 哑变量是人为虚设的变量     
  2. 哑变量在转换成指标矩阵后,其值通常为0或1
  3. Pnadas中get_dummies()函数可以对类别进行哑变量处理

D、哑变量的使用没有实际意义

  1. 关于分组聚合过程的说法中,下列描述不正确的是( D )。      
  1. 拆分是指将数据集按照一些标准拆分为若干个组
  2. 应用是指将某个函数或方法应用到每个分组
  3. 合并是指将产生的新值整合到结果对象中

D、只能对纵轴方向上的数据进行分组

  1. 下列关于groupby()方法的说法中,描述正确的是(C )。    
  1. 用于将数据集实现分组与聚合操作   B、调用groupby()方法返回一个DataFrameBy对象

C、调用groupby()方法返回一个GroupBy对象 

D、groupby()方法只能将数据集按照纵轴方向进行分组

  1. 下列选项中,不属于groupby()方法分组方式的是(D )。    

A、列表或数组   B、DataFrame中某列的名称  C、字典或Series    D、集合

  1. 关于agg()方法的用法中,下列描述错误的是(C)。

A、可以对每列数据应用同一个函数      B、可以对一列数据应用不同的函数

C、每列的数据只能使用相同的函数      D、可以对不同的列使用不同的函数

  1. 关于transform()方法的说法中,下列描述错误的是(C)。

A、transform()方法可以使用广播     

B、使用transform()方法可以返回一个与分组大小相等的数组

C、transform()方法只能使用内置方法对数据进行转换操作

D、transform()方法对DataFrame和Series都适用

  1. 关于apply()方法的说法中,下列描述正确的是(A)。   
  1. apply()方法是对DataFrame    B、apply()方法能够实现所有agg方法的功能

C、apply()方法和map方法都能够进聚合操作    D、apply()方法只能够对行列进行操作

  1. 下列图表中,能够识别异常值的是(A)。   
  1. 箱形图    B、折线图     C、饼图    D、散点图

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号