当前位置: 首页 > news >正文

头歌实训--Pandas合并数据集--第3关:案例:美国各州的统计数据

任务描述
本关为练习关卡,请按照编程要求完成任务,获取美国各州2010年的人口密度排名。

import pandas as pd
import numpy as np

def task3():
    #********** Begin **********#
    #读取三个csv文件
    pop = pd.DataFrame(pd.read_csv("./step3/state-population.csv"))
    ares = pd.DataFrame(pd.read_csv("./step3/state-areas.csv"))
    abbrevs = pd.DataFrame(pd.read_csv("./step3/state-abbrevs.csv"))
    # 合并pop和abbrevs并删除重复列
    df1 = pd.merge(pop, abbrevs, how='outer', left_on='state/region', right_on='abbreviation')
    df1 = df1.drop('abbreviation', axis=1)
    # 填充对应的全称

    df1.loc[df1['state/region'] == 'PR', 'state'] = 'Puerto Rico'
    df1.loc[df1['state/region'] == 'USA', 'state'] = 'United States'

    # 合并面积数据
    df1 = pd.merge(df1, ares, on='state', how='left')

    # 删掉这些缺失值
    df1 = df1.dropna()

    # 取year为2010年的数据,并将索引设为state列
    df1 = df1.loc[df1['year'] == 2010]

    df1.set_index('state')

    # 计算人口密度
    df1['population'] = df1['population'] / df1['area (sq. mi)']

    # 对密度求和

    a = df1.loc[df1['ages'] == 'under18']['population']
    b = df1.loc[df1['ages'] == 'total']['population']
    all = a.values + b.values

    all = pd.DataFrame(all, index=df1.loc[df1['ages'] == 'under18']['state'])

    # 对值进行排序

    all = all.sort_values(0, ascending=False)
    # 输出人口密度前5名和倒数5名
    print("前5名:")
    front = str(all.iloc[:5, 0])[:-24]
    print(front)
    print('dtype: float64')
    print("后5名:")
    back = str(all.iloc[-5:, 0])[:-24]
    print(back)
    print('dtype: float64')
    # ********** End **********#


相关文章:

  • SQL优化手段6条
  • 力扣刷题376. 摆动序列
  • ZYNQ14 基于正点原子的iic时序的fpga程序实现
  • 数据结构(python)-------栈和队列2
  • 使用OpenCV进行图像处理:边界填充、阈值处理
  • Java 中 PriorityQueue 的底层数据结构及相关分析
  • 第60天:Web攻防-XSS跨站文件类型功能逻辑SVGPDFSWFPMessageLocalStorage
  • Ubuntu AX200 iwlwifi-cc-46.3cfab8da.0.tgz无法下载的解决办法
  • Hadoop 3.x中的zookeeper和JournalNode的作用
  • 使用vue3和vue-router实现动态添加和删除cachedViews数组
  • 提取关键 CSS: react 的项目中如何使用criticalCSS
  • PCRE2 站内搜索引擎项目
  • Windows 系统安装 Python3.7 、3.8、3.9、3.10、 3.11 最新版,附带相应程序。
  • 微信小程序面试内容整理-请求优化
  • 广东省教育服务公司受邀出席中华文化促进会教育示范基地落成典礼
  • 软考系统架构设计师考试学习和考试的知识点大纲,覆盖所有考试考点
  • Linux系统——crontab定时任务
  • 【Linux】——进程状态僵尸进程孤儿进程
  • Spring 如何创建 Bean 实例的?
  • SAP FAGLL03 追加并显示描述字段
  • 襄阳网络公司 网站建设/百度指数查询官网大数据
  • 关于网站建设的合同协议书/热狗网站排名优化外包
  • 网站是什么意思例如/网址域名大全2345网址
  • asp网站整站下载器/合肥品牌seo
  • 如何给wordpress文章部分内容加密/seo免费优化工具
  • 上海热线网站建设/爱站seo工具包下载