我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据分析 | Pandas 200道练习题,每日10道题,学完必成大神(4)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据分析 | Pandas 200道练习题,每日10道题,学完必成大神(4)

文章目录

前期准备

本章的十道题与前面的试题相连接,数据集用的同一个数据集一些操作也是基于上一个练习的

本次导包多导入了一个绘图的包,在这里我们只是简单的应用,后面会有详细的讲解用法

import pandas as pdimport numpy as npfrom matplotlib import pyplot as plt 

数据集没有的可以私信我,也可以直接去我的资源里面找

df = pd.read_excel('data1.xlsx')def fun(x):    a,b = x.split('-')    a = int(a.strip('k'))*1000    b = int(b.strip('k'))*1000    return int((a+b)/2)df['salary'] = df['salary'].apply(fun)bins = [0,5000,20000,50000]group_names = ['底','中','高']df['categories'] = pd.cut(df['salary'],bins,labels=group_names)df

在这里插入图片描述

1. 计算salary列的中位数

中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。

# 方式1np.median(df['salary'])# 方式2df['salary'].median()

在这里插入图片描述

2. 绘制薪资水平频率直方图

这个默认是分为10组,分别统计每组出现的次数

df.salary.plot(kind='hist')# 改变分组数df.salary.plot(kind='hist',bins=20)

在这里插入图片描述

3. 绘制薪资水平密度曲线

类似于频率直方图,只不过分组更小了,绘图方式采用的是曲线

df.salary.plot(kind='kde',xlim=(0,70000))

在这里插入图片描述

4. 删除最后一列categories

删除指定列

# 方式一 会直接删除原数据del df['categories']  # 方式二 默认不会删除原数据, 只有当inplace=True 才删除原数据df.drop(columns=['categories'],inplace=True)  # 方式二

5. 将df的第一列与第二列合并为新的一列

因为这里的createTime列是时间序列,所以不能直接的合并,需要我们先将数据类型改变为str

# 将df的第一列与第二列合并为新的一列# 需要将时间类型的数据装换成字符类型,使用的是`astype`类型df['test'] = df['createTime'].astype('str')+ df['education']df.head()

在这里插入图片描述

6. 将education列与salary列合并为新的一列

这个同第五题类似,都是合并两个列,都需要改数据类型
在这里插入图片描述

7. 计算salary列最大值与最小值之差

找出最大值和最小值做差

# 方式1df['salary'].max()-df['salary'].min()# 方式2 使用numpy中的方法np.ptp(df['salary'])

在这里插入图片描述

8. 将第一行和最后一行拼接到一个DataFrame中

主要就是取对应行的操作和将不同的行合并起来

pd.concat([df[:1],df[-1:]])

在这里插入图片描述
另一种方式
取出数据然后将数据生成一个新的DataFrame

pd.DataFrame([df.iloc[0],df.iloc[-1]])

9. 将第8行数据添加到末尾

主要包括两个步骤,取出数据,添加数据

#  取出数据有两种信息df[7:8]  # 使用切片操作df.iloc[7]  # 使用.iloc取值# 将第8行数据添加到末尾df.append(df.iloc[7])

10. 查看每列的数据类型

dtypes 是属性,不用加括号

df.dtypes# 也可以使用,但是展示的信息就比较多了df.info()

本章我们学习了和合并列,添加新的行,删除指定列以及使用matplot
lib绘制一些简单的图形等功能,这些功能都是以后常用的,我在讲解的时候也拓展了不同的解题方式,希望大家发展思路,多多尝试。

期待大家的三连
在这里插入图片描述

来源地址:https://blog.csdn.net/qq_52007481/article/details/127565583

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据分析 | Pandas 200道练习题,每日10道题,学完必成大神(4)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录