Pandas 入门 15 题

Pandas 入门 15 题

  • 1. 相关知识点
    • 1.1 修改DataFrame列名
    • 1.2 获取行列数
    • 1.3 显示前n行
    • 1.4 条件数据选取值
    • 1.5 创建新列
    • 1.6 删去重复的行
    • 1.7 删除空值的数据
    • 1.9 修改列名
    • 1.10 修改数据类型
    • 1.11 填充缺失值
    • 1.12 数据上下合并
    • 1.13 pivot_table透视表的使用
    • 1.14 melt透视表的使用
    • 1.15 条件查询及排序
  • 2. 题目
    • 2.1 从表中创建 DataFrame((Pandas 数据结构)
    • 2.2 获取 DataFrame 的大小(数据检验)
    • 2.3 显示前三行(数据检验)
    • 2.4 数据选取(数据选取)
    • 2.5 创建新列(数据选取)
    • 2.6 删去重复的行(数据清理)
    • 2.7 删去丢失的数据(数据清理)
    • 2.8 修改列(数据清理)
    • 2.9 重命名列(数据清理)
    • 2.10 改变数据类型(数据清理)
    • 2.11 填充缺失值(数据清理)
    • 1.12 重塑数据:连结(表格重塑)
    • 1.13 数据重塑:透视(表格重塑)
    • 2.14 重塑数据:融合(表格重塑)
    • 2.15 方法链(高级技巧)

1. 相关知识点

1.1 修改DataFrame列名

data=pd.DataFrame(student_data,columns=['student_id','age'])

1.2 获取行列数

players.shape

1.3 显示前n行

employees.head(n)

1.4 条件数据选取值

students.loc[students['student_id']==101,['name','age']]
students[students['student_id']==101][['name','age']]
students.query('`student_id`==101')[['name','age']]

1.5 创建新列

  • 处理数据的时候,根据已知列得到新的列,可以考虑使用pandas.DataFrame.assign()函数
  • 使用assign函数不会改变原数据,而是返回一个新的DataFrame对象,包含所有现有列和新生成的列
  • 注意:assign和apply函数的主要区别在于前者不改变原数据,apply函数是在原数据的基础上添加新列
employees['bonus']=employees['salary'].apply(lambda x:x*2)
employees=employees.assign(bonus=employees.salary*2)
employees['bonus']=employees['salary']*2

1.6 删去重复的行

customers.drop_duplicates(subset=['email'],keep='first')

1.7 删除空值的数据

# axis=0代表行
students.dropna(subset=['name'],how='any', axis=0,inplace = False)

1.9 修改列名

data=data.rename(columns={'Dest':'iata_code','index':'from'})
students.columns=['student_id','first_name','last_name','age_in_years']

1.10 修改数据类型

students['grade']=students['grade'].astype('int')

1.11 填充缺失值

products['quantity'].fillna(0,inplace=True)# products.replace({'quantity':{# None:0# }},inplace=True)

1.12 数据上下合并

df1._append(df2)
# pd.concat([df1,df2],axis=0)

1.13 pivot_table透视表的使用

weather.pivot_table(index='month',values='temperature',columns='city',aggfunc='sum')

1.14 melt透视表的使用

  • df.pivot() 将长数据集转换成宽数据集,df.melt() 则是将宽数据集变成长数据集
pd.melt(report,id_vars['product'],var_name='quarter',value_name='sales')

1.15 条件查询及排序

animals[animals['weight'] > 100].sort_values(by='weight', ascending=False)

2. 题目

2.1 从表中创建 DataFrame((Pandas 数据结构)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef createDataframe(student_data: List[List[int]]) -> pd.DataFrame: data=pd.DataFrame(student_data,columns=['student_id','age'])return data
student_data=[[1,15],[2,11],[3,11],[4,20]]print(createDataframe(student_data))

2.2 获取 DataFrame 的大小(数据检验)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef getDataframeSize(players: pd.DataFrame) -> List[int]:return list(players.shape)

2.3 显示前三行(数据检验)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef selectFirstRows(employees: pd.DataFrame) -> pd.DataFrame:return employees.head(3)

2.4 数据选取(数据选取)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef selectData(students: pd.DataFrame) -> pd.DataFrame:return students.loc[students['student_id']==101,['name','age']]# return students[students['student_id']==101][['name','age']]# return students.query('`student_id`==101')[['name','age']]

2.5 创建新列(数据选取)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import pandas as pddef createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:employees['bonus']=employees['salary'].apply(lambda x:x*2)# employees=employees.assign(bonus=employees.salary*2)# employees['bonus']=employees['salary']*2return employees

2.6 删去重复的行(数据清理)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame:return customers.drop_duplicates(subset=['email'],keep='first')

2.7 删去丢失的数据(数据清理)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef dropMissingData(students: pd.DataFrame) -> pd.DataFrame:# axis=0代表行return students.dropna(subset=['name'],how='any', axis=0,inplace = False)

2.8 修改列(数据清理)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef modifySalaryColumn(employees: pd.DataFrame) -> pd.DataFrame:employees=employees.assign(salary=employees.salary*2)# employees['salary']=employees['salary'].apply(lambda x:x*2)# employees['salary']=employees['salary']*2return employees

2.9 重命名列(数据清理)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef renameColumns(students: pd.DataFrame) -> pd.DataFrame:students.columns=['student_id','first_name','last_name','age_in_years']# dic={#     'id':'student_id',#     'first':'first_name',#     'last':'last_name',#     'age':'age_in_years'}# students=students.rename(columns=dic)return students

2.10 改变数据类型(数据清理)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef changeDatatype(students: pd.DataFrame) -> pd.DataFrame:students['grade']=students['grade'].astype('int')return students

2.11 填充缺失值(数据清理)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef fillMissingValues(products: pd.DataFrame) -> pd.DataFrame:products['quantity'].fillna(0,inplace=True)# products['quantity']=products['quantity'].fillna(0)# products.replace({'quantity':{# None:0# }},inplace=True)return products

1.12 重塑数据:连结(表格重塑)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import pandas as pddef concatenateTables(df1: pd.DataFrame, df2: pd.DataFrame) -> pd.DataFrame:return df1._append(df2)# return pd.concat([df1,df2],axis=0)

1.13 数据重塑:透视(表格重塑)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import pandas as pddef pivotTable(weather: pd.DataFrame) -> pd.DataFrame:return weather.pivot_table(index='month',values='temperature',columns='city',aggfunc='sum')# return weather.set_index(['month','city']).unstack()['temperature

2.14 重塑数据:融合(表格重塑)

在这里插入图片描述
在这里插入图片描述

import pandas as pddef meltTable(report: pd.DataFrame) -> pd.DataFrame:report=pd.melt(report,id_vars=['product'],var_name='quarter',value_name='sales')return report

2.15 方法链(高级技巧)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import pandas as pddef findHeavyAnimals(animals: pd.DataFrame) -> pd.DataFrame:animals = animals[animals['weight'] > 100].sort_values(by='weight', ascending=False)return animals[['name']]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/41226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#桌面应用开发:番茄定时器

C#桌面应用开发:番茄定时器 1、环境搭建和工程创建: 步骤一:安装visual studio2022 步骤二:新建工程 2、制作窗体部件 *踩过的坑: (1)找不到工具箱控件,现象如下:…

软件测试之接口自动化测试实战(完整版)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 自从看到阿里云性能测试 PTS 接口测试开启免费公测,就想着跟大家分享交流一下如何实现…

通义灵码入选 2024 世界人工智能大会最高荣誉「镇馆之宝」

7 月 4 日,2024 上海世界人工智能大会正式开幕,并揭晓了今年的「镇馆之宝」名单,通义灵码入选,是首个入围该名单的 AI 编程助手。 镇馆之宝是世界人工智能大会展览的最高荣誉,从科技含量、市场前景、创新性以及社会经济…

OV通配符证书用于什么单位

OV(Organization Validation)通配符SSL证书是一种专门为组织或企业设计的SSL证书类型,它不仅提供了标准的SSL加密功能,还包含了对组织身份的验证。这种证书非常适合以下几种类型的单位使用: 企业级网站: …

【稳定检索/投稿优惠】2024年教育、人文发展与艺术国际会议(EHDA 2024)

2024 International Conference on Education, Humanities Development and Arts 2024年教育、人文发展与艺术国际会议 【会议信息】 会议简称:EHDA 2024 大会时间:点击查看 截稿时间:点击查看 大会地点:中国北京 会议官网&#…

直饮水也要烧开饮用吗?

某天上班,同事跟我说他的爸爸喝瓶装水都要烧开了后再喝。 这种行为震惊了小编。 好像很多上一辈的人有种执念,那就是水一定要烧开了喝。 不仅是因为习惯,也是他们的观念已经根深蒂固,认为烧开后的水喝起来才健康。 其实水不一…

华火电燃喷火单灶再荣获中国质量认证中心 CQC 权威证书,引领行业新高度

近日,华火传来了一则令整个行业瞩目的重大喜讯:其电燃喷火单灶“再度”成功荣获中国质量认证中心(CQC)权威证书。这一里重大程碑式的成就,不仅是对华火产品卓越品质的高度认可,更是华火在品牌发展道路上的一…

uni-app使用ucharts地图,自定义Tooltip鼠标悬浮显示内容并且根据@getIndex点击事件获取点击的地区下标和地区名

项目场景: uni-app使用ucharts地图,自定义Tooltip鼠标悬浮显示内容并且根据getIndex点击事件获取点击的地区下标和地区名 例如: 问题描述 官方给的文档有限,需要自己下载地图json数据然后自己渲染和编写鼠标悬浮显示内容以及获取点击地址…

go语言day08 泛型 自定义错误处理 go关键字:协程

泛型: 抛错误异常 实现error接口类型 用java语言解释的话,实现类需要重写error类型的抽象方法Error().这样就可以自定义异常处理。 回到go语言,在Error()方法中用*argError 这样一个指针类来充当error接口的实现类。 在f2()方法中定义返回值…

荣耀电脑误删U盘文件?别慌,这里有找回方法

荣耀电脑误删U盘文件怎么找回?在日常工作和生活中,U盘是我们存储和传输数据的重要工具之一。然而,在使用荣耀电脑时,如果不小心误删了U盘中的文件,可能会给我们带来不小的困扰。但是,别慌!本文将…

免费的才是王道,有哪些业务类、合同类的管理系统能够让我们受益终身?

看了题主提问,深感当今中小企业生存环境的艰辛。一方面是现在的智能生活软件有了很深的普及和使用习惯,另外一个是行业竞争压力越来越大不变不行。 但是生存不易,且行且珍惜,每一份钱都要用在刀刃上,各种预算一再压缩…

CDC实时同步进行时遇到不可抗力中断了怎么办?

目录 一、CDC技术的概念 二、CDC技术的应用场景 1.数据复制和同步 2.实时数据仓库 3.业务过程监控和审计 4.ETL 进程优化 三、CDC与数据管道的关系 1.区别 CDC(Change Data Capture) 数据管道(Data Pipeline) 2.联系 CDC是数据管道…

《Linux开发笔记》C语言编译

C语言编译过程 编译过程主要分为四步:预处理、编译、汇编、链接 预处理:主要用于查找头文件、展开宏 编译:把.i文件编译成.s文件 汇编:把.s文件汇编为.o文件 链接:把多个.o文件链接成一个app 以上四个步骤主要由3个命…

JavaScript基础知识5(对象)

JavaScript基础知识5(对象) 对象创建对象使用对象字面量使用 new Object() 访问和修改属性点表示法方括号表示法 动态添加和删除属性添加属性删除属性 对象方法对象的遍历常用属性和方法数学常量数学函数三角函数 使用示例生成随机整数计算圆的面积求最大…

QStringListModel 绑定到QListView

1.QStringListModel 绑定到listView,从而实现MV模型视图 2.通过QStringListModel的新增、删除、插入、上下移动,listView来展示出来 3.下移动一行,传入curRow2 的个人理解 布局 .h声明 private:QStringList m_strList;QStringListModel *m_m…

Matlab|基于改进鲸鱼优化算法的微网系统能量优化管理matlab-源码

目录 一、主要内容 二、部分代码 三、运行结果 四、下载链接 一、主要内容 该程序为《基于改进鲸鱼优化算法的微网系统能量优化管理》源码,主要内容如下: 针对包含多种可再生能源的冷热电联供型微网系统的能量优化问题,为了优化其运行过程…

中级职称如何查询真假呢?

关于中级职称如何查询真假,大家都会有疑问,办到职称的人员肯定是想查一查手里的证书,那么没有证书的人员也想了解一下,今天甘建二告诉大家几个通俗的职称查询方式: 1.电话查询(以前办理职称是这种查询方式…

20W+喜爱的Pathview网页版 | 整合表达谱数据KEGG通路可视化

Pathview网站简介 网址:https://pathview.uncc.edu/ 前段时间介绍了一个R包 — Pathview。它可以整合表达谱数据并可视化KEGG通路,操作是先自动下载KEGG官网上的通路图,然后整合输入数据对通路图进行再次渲染。从而对KEGG通路图进行一定程度…

RedHat9 | kickstart无人值守批量安装

一、知识补充 kickstart Kickstart是一种用于Linux系统安装的自动化工具,它通过一个名为ks.cfg的配置文件来定义Linux安装过程中的各种参数和设置。 kickstart的工作原理 Kickstart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,…

漏洞分析 | PHP CGI Windows平台远程代码执行漏洞(CVE-2024-4577)

漏洞概述 PHP CGI(Common Gateway Interface)是在Windows平台上运行PHP的一种方式。CGI是一种标准接口,允许Web服务器与外部应用程序(如PHP脚本)进行交互,从而生成动态网页内容。 近期,PHP发布…