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.xdnf.cn/news/1473406.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【学术会议征稿】第四届先进算法与神经网络国际学术会议(AANN 2024)

第四届先进算法与神经网络国际学术会议(AANN 2024) 2024 4th International Conference on Advanced Algorithms and Neural Networks 第四届先进算法与神经网络国际学术会议(AANN 2024)由中国石油大学(华东&#x…

解决使用PPIO欧派云服务器时无法使用sftp的问题

首先在对外TCP端口中选择22端口: 在连接-端口映射中可以看到: 使用ssh连接云服务器,更新包列表并安装OpenSSH服务器: apt-get update apt-get install-y openssh-server 创建 SSH 运行目录: mkdir /var/run/sshd 设…

Xilinx原语

1. 原语介绍 原语是 Xilinx 器件底层硬件中的功能模块,它使用专用的资源来实现一系列的功能。相比于 IP 核,原语的调用方法更简单,但是一般只用于实现一些简单的功能。本章主要用到了 BUFG、 BUFIO、 IDDR、 ODDR、IDELAYE2 和 IDELAYCTRL。…

【算法 - 哈希表】两数之和

这里写自定义目录标题 两数之和题目解析思路解法一 :暴力枚举 依次遍历解法二 :使用哈希表来做优化 核心逻辑为什么之前的暴力枚举策略不太好用了?所以,这就是 这道题选择 固定一个数,再与其前面的数逐一对比完后&…

2024亚太杯中文赛B题洪水灾害的数据分析与预测原创论文分享

大家好,从昨天肝到现在,终于完成了2024年第十四届 APMCM 亚太地区大学生数学建模竞赛B题洪水灾害的数据分析与预测的完整论文啦。 实在精力有限,具体的讲解大家可以去讲解视频: 2024亚太杯中文赛B题洪水灾害预测原创论文保姆级教…

QCustomPlot+ vs2022+ qt

零、printSupport 步骤一:下载QCustomPlot 访问QCustomPlot的官网 QCustomPlot 下载最新版本的源代码。 步骤二:配置项目 创建新的Qt项目: 打开VS2022,创建一个新的Qt Widgets Application项目。 将QCustomPlot源代码添加到项目…

【Python】 模型训练数据归一化的原理

那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 🎵 王心凌《那年夏天宁静的海》 在机器学习和深度学习中,数据归一化…

一键式创建GTest测试平台

适用于C GTest测试平台搭建。直接上python脚本。 #!/usr/bin/env python3 # -*- coding: utf-8 -*-import argparse import os import platform import subprocess from xml.etree import ElementTree as ETdefault_root_path "d:\\test\\UTtest"class DeveloperTe…

模型加载gltf

3. 加载.gltf文件(模型加载全流程) | Three.js中文网 (webgl3d.cn) 1.引入GLFloader.js模型加载器 import {GLTFloader} from three/addons/loader/GLTFloader.js; 2.GLTF加载器new GLTFloader() 执行new GLTFloader()就可以实例化一个gltf加载器对象 const loader new …

量化机器人:金融市场的智能助手

引言 想象一下,在繁忙的金融市场中,有一位不知疲倦、冷静客观的“超级交易员”,它能够迅速分析海量数据,精准捕捉交易机会,并自动完成买卖操作。这位“超级交易员”不是人类,而是我们今天要聊的主角——量…

帕金森病患者在选择运动疗法时应该注意哪些事项?

帕金森病患者在选择运动疗法时,应该遵循以下几点注意事项: 个性化运动处方:根据患者的病情、年龄、健康状况、以往运动能力等因素,制定个体化的运动处方。 避免运动负荷过大:运动时间不宜过长,注意控制心率…

NSK发布新版在线计算工具

July 01, 2024 NSK Ltd. Corporate Communications Department NSK Ltd. announced today that it has improved the engineering tools available on its website. The new engineering tools — NSK Online Catalog, Technical Calculations, and 2D/3D CAD Data — which …

View->裁剪框View的绘制,手势处理

XML文件 <?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android…

招聘一个1-3年经验的Java工程师:企业视角的技能与素质要求

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

hdu物联网硬件实验2 GPIO亮灯

学院 班级 学号 姓名 日期 成绩 实验题目 GPIO亮灯 实验目的 点亮三个灯闪烁频率为一秒 硬件原理 无 关键代码及注释 const int ledPin1 GREEN_LED; // the number of the LED pin const int ledPin2 YELLOW_LED; const int ledPin3 RED…

日本最新型高达式巨型机器人承担铁路维护任务

日本有制造现实生活中的高达式巨型机器人的历史&#xff0c;但它们往往是用于娱乐目的&#xff0c;而不是实际应用。不过&#xff0c;日本刚刚开始使用一个 40 英尺高的人形机器人来维护铁路线。 大约两年前&#xff0c;西日本铁路公司&#xff08;JR 西日本&#xff09;制造了…

AIGC | 在机器学习工作站安装NVIDIA CUDA® 并行计算平台和编程模型

[ 知识是人生的灯塔&#xff0c;只有不断学习&#xff0c;才能照亮前行的道路 ] 0x02.初识与安装 CUDA 并行计算平台和编程模型 什么是 CUDA? CUDA&#xff08;Compute Unified Device Architecture&#xff09;是英伟达&#xff08;NVIDIA&#xff09;推出的并行计算平台和编…

2024 WAIC|第四范式胡时伟分享通往AGI之路:行业大模型汇聚成海

7月4日&#xff0c;2024世界人工智能大会&#xff08;WAIC&#xff09;正式开幕。此次大会围绕核心技术、智能终端、应用赋能等板块展开&#xff0c;展览规模、参展企业数均达历史最高。第四范式受邀参展&#xff0c;集中展示公司十年来在行业大模型产业应用方面的实践。在当天…

Windows 安装hadoop 3.4

目录 安装 下载 设置环境变量 配置 修改&#xff1a;hadoop-env.cmd 修改&#xff1a;core-sit.xml 修改&#xff1a;hdfs-site.xml 修改&#xff1a;mapred-site.xml 修改&#xff1a;yarn-site.xml 运行 格式化HDFS文件系统 启动&#xff1a;hadoop 启动&#xf…

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

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