内容正文:
pandas处理数据
1. 下列有关pandas-Series的说法错误的是( )
A. 包含一个数组的数据和一个与数据关联的索引,是二维数据结构
B. 其索引值默认是从0起递增的整数
C 可用列表、字典等创建Series数据结构
D. 其索引可以指定,类型可以为字符串型
2. 下列有关pandas-DataFrame的说法错误的是( )
A. 是一种二维数据结构 B. 由1个索引列和若干个数据列组成
C. 同一个DataFrame对象的数据列类型必须相同 D. 可看作共享同1个index的Series集合
3. 不能实现选取df对象前5行数据记录的语句是( )
A. df.head() B. df.head(5) C. df[0:5] D. df[5]
4. (1)某DataFrame对象df中包含“准考证号”“班级”“姓名”“文”“数学”…“总分”等10个数据列、多个数据行,能获取对象df第3个数据的“姓名”内容的语句有( )
①df[2,'姓名'] ②df.at[2,'姓名'] ③df[2]['姓名'] ④df['姓名'][2] ⑤df.姓名[2]
A.①②③ B.①②④C.②④ D.②④⑤
(2)如(1)题对象df,能够降序排列输出总分大于等于600分的学生数据的代码组合是( )
①df=df.sort_values(″总分″,ascending=True)
②df=df.sort_values(″总分″,ascending=False)
③df=df[″总分″,>=600]
④df=df[df[″总分″]>=600]
⑤print(df)
A.①③⑤ B.①④⑤ C.②③⑤ D.②④⑤
(3)如(1)题对象df1,下列语句中,可以以班级为单位,统计出各班级“总分”的平均值的有( )
①df.groupby('班级').mean()
②df.groupby('总分').mean()
③df.groupby('班级')['总分'].mean()
④df.groupby('班级').总分.mean()
⑤df.groupby('班级').describe()
A.①②③④⑤ B.①②③⑤ C.①③④⑤ D.①②③
5. 有如下Python程序段。
import pandas as pd
list=[['周欣怡','湖州',15,646],['王培新','杭州',16,598],['张佳明','杭州',16,609],['林逢春','嘉兴',15,547],['朱梁栋','湖州',16,588],['陈清瑞','嘉兴',15,571]]
inf=pd.DataFrame(list,columns=['姓名','地区','年龄','总分'])
print(inf)
print('_',20)
print(inf.groupby('地区',as_index=True).mean())
执行该程序段后,输出的结果是_____(单选,填字母)。
6. ____模块用于科学计算(随机数、数组运算等);____模块基于numpy实现,主要用于数据的处理和分析;_____用于绘图库。
7. 小明从某网站上收集了2022年四月部分生产资料市场价格变动情况数据,数据集保存在“shuju.xlsx”中,格式如图1所示。
图1
为分析相关类别生产资料的涨跌幅情况,小明编写了以下python程序
import pandas as pd
import matplotlibpyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文字体
df=pd.read_excel("shuju.xlsx")
df["涨跌幅"]=_________
(1) 通过数据计算添加涨跌幅列,请在划线处填写实现的方式。
计算公式为:涨跌幅=(本期价格-上期价格)/本期价格*100。
(2) 若要对表格中的数据进行分类统计,并求其平均涨跌幅。请完善以下代码
g=df.groupby("类别",as_index=False)
df1=_________________
df1=df1.sort_values("涨跌幅",ascending=False)
(3) 根据上述操作结果,制做一份显示类别涨跌幅平均值的图表,其格式如图2所示。
图2
请完善以下代码
plt.figure(figsize=(8,4))
plt.title("各种类别对比分析图")
plt.bar( ),df1["涨跌幅"],label='涨跌幅')
plt.xlab