第一步:导入相关模块

import pandas as pd
from pandas import Series,DataFrame
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

第二步:加载dataset目录下US_Baby_names_right.csv文件数据并查看数据的基本信息

data = pd.read_csv('dataset/US_Baby_names_right.csv')
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1016395 entries, 0 to 1016394
Data columns (total 7 columns):#   Column      Non-Null Count    Dtype
---  ------      --------------    ----- 0   Unnamed: 0  1016395 non-null  int64 1   Id          1016395 non-null  int64 2   Name        1016395 non-null  object3   Year        1016395 non-null  int64 4   Gender      1016395 non-null  object5   State       1016395 non-null  object6   Count       1016395 non-null  int64
dtypes: int64(4), object(3)
memory usage: 54.3+ MB

第三步:查看前十行数据

data.head(10)
Unnamed: 0 Id Name Year Gender State Count
0 11349 11350 Emma 2004 F AK 62
1 11350 11351 Madison 2004 F AK 48
2 11351 11352 Hannah 2004 F AK 46
3 11352 11353 Grace 2004 F AK 44
4 11353 11354 Emily 2004 F AK 41
5 11354 11355 Abigail 2004 F AK 37
6 11355 11356 Olivia 2004 F AK 33
7 11356 11357 Isabella 2004 F AK 30
8 11357 11358 Alyssa 2004 F AK 29
9 11358 11359 Sophia 2004 F AK 28

数据注释:

  1. Name 名字
  2. Year 婴儿出生的名字
  3. Gender 婴儿性别
  4. State 婴儿出生的地区缩写
  5. Count 该名字被使用的次数

第三步:删除 Unname:0和Id这两列数据

del data['Unnamed: 0']
del data['Id']
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1016395 entries, 0 to 1016394
Data columns (total 5 columns):#   Column  Non-Null Count    Dtype
---  ------  --------------    ----- 0   Name    1016395 non-null  object1   Year    1016395 non-null  int64 2   Gender  1016395 non-null  object3   State   1016395 non-null  object4   Count   1016395 non-null  int64
dtypes: int64(2), object(3)
memory usage: 38.8+ MB

第四步:统计数据集中男孩名字和女孩名字各是多少。

data['Gender'].value_counts()
F    558846
M    457549
Name: Gender, dtype: int64

第五步:按照Name字段将数据集进行分组并求和赋值给变量names,最后输出前五行

names = data.groupby('Name')['Year','Count'].sum()
names.head()
Year Count
Name
Aaban 4027 12
Aadan 8039 23
Aadarsh 2009 5
Aaden 393963 3426
Aadhav 2014 6

第六步:按照每个名字被使用的次数(Count)对第五步中结果进行降序排序,得出最受欢迎的的五个名字

names.sort_values(['Count'], ascending=False).head(5)
Year Count
Name
Jacob 1141099 242874
Emma 1137085 214852
Michael 1161152 214405
Ethan 1139091 209277
Isabella 1137090 204798

第七步:在数据集中,共出现了多少个名字?(不包含重复项)

data['Name'].nunique()
17632

第八步:根据names变量中的数据,删除掉Year列数据后,得出如下所示的基本统计参数

del names['Year']
names.describe()
Count
count 17632.000000
mean 2008.932169
std 11006.069468
min 5.000000
25% 11.000000
50% 49.000000
75% 337.000000
max 242874.000000

python数据分析练习——姓名分析US_Baby_names_right.csv相关推荐

  1. Python数据分析初学之分析表格

    文章目录 Python数据分析初学之分析表格 任务要求 代码实现 Python数据分析初学之分析表格 任务要求 1)使用 pandas 读取文件 data.csv 中的数据 ,创建 DataFrame ...

  2. 【详解】Python数据分析第三方库分析

    Python数据分析第三方库分析 目录 Python数据分析第三方库分析 @常用库下载地址 1 Numpy 2 Matplotlib 3 Pandas 4 SciPy 5 Scikit-Learn 6 ...

  3. python数据分析的交叉分析和分组分析 -第三次笔记

    python数据分析 -第三次笔记 –1.交叉分析 –2.分组分析 1.交叉分析 交叉分析的含义是在纵向分析法和横向分析法的基础上,从交叉.立体的角度出发,由浅入深.由低级到高级的一种分析方法.这种方 ...

  4. Python数据分析之探索性分析(多因子复合分析)

    目录 一.假设检验: 二.交叉分析 1.分析属性与属性之间关系的方法 2.透视表 三.分组与钻取: 四.相关分析 1.相关系数分析 2.熵:条件熵:互信息(熵增益):增益率:基尼系数: 3.衡量离散数 ...

  5. Python数据分析——基金定投收益率分析,以及支付宝“慧定投”智能定投实现

    文章目录 一.关于基金定投 数据来源 接口规范 常见指数基金/股票代码 二.分析目标 三.代码实现 1.定义获取数据.清洗数据的函数 2.定义定投策略函数 3.计算2019年对沪深300指数基金进行定 ...

  6. python数据分析之对比分析

    对比分析 概念:两个互相联系的指标进行比较 类型:绝对数比较(相减) .相对数比较(相除) 其中相对数比较分析也包括:结构分析.比例分析.动态对比分析 1.绝对数比较 a.对比的指标在量级上不能差别过 ...

  7. python数据比例_#python# #数据分析# 性别比例分析

    手头有一份性别比例的样本数据,清洗后只保留了性别信息,做了一个数据分析. 数据清洗和数据统计的代码就不贴了,贴性别比例pie图和性别比例趋势图的代码. 性别比例pie图: def _plot_gend ...

  8. Python数据分析之股票分析

    股票分析 使用tushare包获取某股票的历史行情数据 输出该股票所有收盘比开盘上涨3%以上的日期 输出该股票所有开盘比前日收盘跌幅超过2%的日期 假如从2010年1月1日开始,每月第一个交易日买入1 ...

  9. Python数据分析项目:分析世界五百强企业数据

    前言 嗨喽!大家好,这里是魔王~ 哪个国家的世界五百强企业数量最多? 今天带你用python来处理数据,并实现数据可视化,解决对现有数据产生的疑问. 本次代码是在 Jupyter Notebook 里 ...

最新文章

  1. 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(下)
  2. [C++STL]deque容器用法介绍
  3. IPC 中 LPC、RPC 的区别和联系
  4. JSON为什么那样红(另有洞天)
  5. coco showanns不显示_coco奶茶加盟好不好?【5月官网最新公布】加盟费用+加盟流程...
  6. 10天智能锁项目实战第1天(了解单片机STM32F401RET6和C语言基础)
  7. java 通过TCP\UDP 协议实现多人聊天,点对点,文件传送-----分服务器端和客户端...
  8. android+字体稍微加粗,的Android设置的Roboto字体,加粗,斜体,普通,...(有点像自定义字体家族)...
  9. java信鸽推送_记录腾讯信鸽推送服务java
  10. win10系统 双击bat文件无法运行,只是以普通txt文件打开该文件,简单解决
  11. ADSL上网速度慢的原因及快速排除方法
  12. 驱动开发---cc1: error: code model kernel does not support PIC mode(改文件Unhelp?try it)
  13. 在ftp服务器中上传文档的权限,ftp服务器 上传文件权限设置
  14. U盘图标改变与文件隐藏
  15. HIT2020春软件构造lab1
  16. Ubuntu 16.04 桌面字体太小让它大大大
  17. vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in v-on handler (Promise/async): “Error: 失败“found in
  18. 微信红包业务,为什么采用轮询算法?
  19. Fuzzing论文_CONCURR COMP-PRACT E2020_Fw-fuzz
  20. 深度图像和彩色图像配准原理

热门文章

  1. Java图片上传功能
  2. python基础编程:selenium+python实现自动登陆QQ邮箱并发送邮件功能
  3. 最新域名查询-中文域名注册到期查询软件
  4. mysql 中的删除列_如何从MySQL中的表中删除列?
  5. SQL语句批量去除、替换掉某列(字段)中包含的某个字符串
  6. 厌倦了SE11/SE16N? 告诉你如何在Excel中查看SAP的表数据
  7. python的简单调试
  8. TortoiseGit工具使用
  9. 【无标题】小游戏用户界面登录验证
  10. ADK+MDT实现域控服务器全自动静默下发系统(七):MDT的部署--MDT Deployment Share 属性设置