高中python中遇到的问题,课上没有讲解,只能请大家讲解详细点

14.全国文明城市(区),简称文明城市,是指在全面建设小康社会中市民整体素质和城市文明程度较高的城市。小明收集并整理了从第 1 届到第6届文明城市的名单数据,存储在“wmcs. xlsx ” 文件中,部分界面如第 14 题图 a 所示。
文明城市的名单构成:
1⃣️在没有复查环节的年份:当年评比通过的城市(表中 “复查”项为空)+之前入选的城市(顺延,表中不体现)
2⃣️在有复查环节的年份:当年评比通过的城市(表中 “复查”项为空)+之前己入选的城市复查通过(表中 “复查” 项为 “ 通过”)
其中第2、5、6届有复查环节。以“宁波” 为例,第1届评比通过,第2届复查通过,第3届第4 届顺廷(表中无宁波的数据),第5届复查通过,第6届复查通过。

img


①为了统计分析连续六次入选的全国文明城市(区),编写了 Python 程序,输出结果如第14题图b,请在划线处填入合适的代码。

img


img


(2)第6届全国文明城市(区)共有 133 个,复查确认保留荣誉称号的前 5届全国文明城市有151个,为了统计出入选第6届全国文明城市(区)数量前 10 的省份(直辖市或自治区)并绘制垂直桂形图(如第 14 题图c),部分 Python 程序如下,请在划线处填写合适的代码。
df=df[df[”届次”]==‘第6届’]
dsg=df. groupby(' 省份’).地区.count() #此操作将使’ 省份’ 成为dsg的索引
dsg=dsg. sort_ values (ascending=False)#对各省的地区数量进行降序排列
dsg=dsg.1⃣️
plt. bar( 🈳️ )# 绘制垂直柱形图
plt.title(”入选第6届全国文明城市(区) 数量前 10 的省份(直辖市或自治区)”)
plt.2⃣️

img


(3) 为实现第(2)题功能,则🈳️处的语句最合适的是( )(单选,填字母)
A. dsg.省份,dsg.地区
B. dsg.index,dss. 地区
C. dsg. index, dsg. values
D. dsg. 省份,dsg. value

答案:
(1) 1⃣️ str(i)
2⃣️ cuont()
3⃣️ dfg['地区']或dfg['地区'].values
(2) 1⃣️ head(10)
2⃣️ show()
(3) C

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7679208
  • 除此之外, 这篇博客: python中的抽象类中的 1.首先知道python中的抽象类其实就是一种代码规范,和前面两篇文章python中的单继承和python中的多继承说的都是一个道理归根到底都是为了代码规范,同样也是从Java中继承的思想,抽象类一般都是单继承,由于多个子类都需要继承同一个类,所以可以在抽象类中实现具体的方法,但是子类中还是要实现具体的方法,看下面的例子,抽象类中实现了文件打开和关闭操作,但是子类中还是定义了 读写功能,为了理解的简便还是可以直接理解成抽象类中不实现具体的方法,子类中必须实现具体的方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    import abc #利用abc模块实现抽象类
    
    class All_file(metaclass=abc.ABCMeta):
        all_type='file'
        @abc.abstractmethod #定义抽象方法,无需实现功能
        def read(self):
            '子类必须定义读功能'
            with open('filaname') as f:
                pass
    
        @abc.abstractmethod #定义抽象方法,无需实现功能
        def write(self):
            '子类必须定义写功能'
            pass
    
    class Txt(All_file): #子类继承抽象类,但是必须定义read和write方法
        def read(self):
            print('文本数据的读取方法')
        def write(self):
            print('文本数据的读取方法')
    
    class Sata(All_file): #子类继承抽象类,但是必须定义read和write方法
        def read(self):
            print('硬盘数据的读取方法')
    
        def write(self):
            print('硬盘数据的读取方法')
    
    class Process(All_file): #子类继承抽象类,但是必须定义read和write方法
        def read(self):
            print('进程数据的读取方法')
    
        def write(self):
            print('进程数据的读取方法')
    
    wenbenwenjian=Txt()
    
    yingpanwenjian=Sata()
    
    jinchengwenjian=Process()
    
    #这样大家都是被归一化了,也就是一切皆文件的思想
    wenbenwenjian.read()
    yingpanwenjian.write()
    jinchengwenjian.read()
    
    print(wenbenwenjian.all_type)
    print(yingpanwenjian.all_type)
    print(jinchengwenjian.all_type)
    
    # 抽象类 : 规范
    # 一般情况下 单继承 能实现的功能都是一样的,所以在父类中可以有一些简单的基础实现
    # 多继承的情况 由于功能比较复杂,所以不容易抽象出相同的功能的具体实现写在父类中
    
    
    # 抽象类还是接口类 : 面向对象的开发规范 所有的接口类和抽象类都不能实例化
    # java :
    # java里的所有类的继承都是单继承,所以抽象类完美的解决了单继承需求中的规范问题
    # 但对于多继承的需求,由于java本身语法的不支持,所以创建了接口Interface这个概念来解决多继承的规范问题
    
    # python
    # python中没有接口类  :
      #  python中自带多继承 所以我们直接用class来实现了接口类
    # python中支持抽象类  : 一般情况下 单继承  不能实例化
      #  且可以实现python代码
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^


这里有绘制柱状图的详细讲解