首页 > 其他分享 >Pandas入门

Pandas入门

时间:2024-06-22 19:54:00浏览次数:21  
标签:return 入门 NA employees DataFrame pd Pandas def

Pandas笔记

基本操作

创建DataFrame

def createDataframe(student_data: List[List[int]]) -> pd.DataFrame:
    column_names = ["student_id", "age"]	# 列名
    result_dataframe = pd.DataFrame(student_data, columns=column_names)
    return result_dataframe

获取 DataFrame 的大小

shape[0]表示行数,shape[1]表示列数

def getDataframeSize(players: pd.DataFrame) -> List[int]:
    return [players.shape[0], players.shape[1]]

获取前n行

def selectFirstRows(employees: pd.DataFrame) -> pd.DataFrame:
    return employees.head(3)

选取指定的行

loc[]表示根据标签索引(参数1:筛选条件,参数2:返回列),iloc[]表示根据下标索引

def selectData(students: pd.DataFrame) -> pd.DataFrame:
    return students.loc[students["student_id"]==101, ["name", "age"]]

修改列

def modifySalaryColumn(employees: pd.DataFrame) -> pd.DataFrame:
    employees['salary'] *= 2
    return employees

创建新列

def createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:
    employees['bonus']=employees['salary']*2
    return employees

删除重复的行

drop_duplicates 函数参数定义:

subset:此参数标识重复行时要考虑的列标签或标签序列。如果未提供,它将处理 DataFrame 中的所有列。

keep:此参数确定要保留的重复行。

'first': (默认) 删除除第一个匹配项以外的重复项。
'last': 删除除最后一个匹配项之外的重复项。
False: 删除所有重复项。
inplace: 如果设置为 True,则直接对对象进行更改,而不返回新的对象。如果设置为 False(默认),则返回丢弃重复的新对象。

def dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame:
    customers.drop_duplicates(subset="email", keep="first", inplace=True)
    return customers

def dropDuplicateEmails(customers: pd.DataFrame) -> pd.DataFrame:
    return customers.drop_duplicates(subset="email", keep="first", inplace=False)

删除丢失的数据

dropna 函数参数定义:

axis: 它可以是 {0 or 'index', 1 or 'columns'}。默认为 0。如果 axis=0,则丢弃包含缺失值的行;如果 axis=1,则丢弃包含缺失值的列。
how: 确定当我们至少有一个 NA 或全部 NA 时,是否从 DataFrame 中删除行或列。
how='any': 如果存在任何 NA 值,则删除该行或列(默认)。
how='all': 如果所有值都为 NA,则删除该行或列。
thresh: 需要多少非 NA 值。这是一个整型参数,需要最小数量的非 NA 值才能保留行/列。
subset: 要考虑的另一个轴上的标签,例如,如果您正在删除行,则这些标签将是要包括的列的列表。当您只想考虑某些列中的 NA 值时,这特别有用。
inplace: 同上

def dropMissingData(students: pd.DataFrame) -> pd.DataFrame:
    return students.dropna(axis=0, how='any', subset=["name"] ,inplace=False)

标签:return,入门,NA,employees,DataFrame,pd,Pandas,def
From: https://www.cnblogs.com/linyf49/p/18262667

相关文章

  • 机器学习相关入门零碎知识
    机器学习的学习先后顺序待补充什么是传统机器学习、深度学习、神经网络待补充传统的机器学习与深度学习区别于场景参考:https://cloud.baidu.com/article/2865348在过去的几十年里,机器学习已经取得了长足的进步,从传统的统计学方法到现在的深度学习,其应用范围越来越广泛。然而......
  • IOS Swift 从入门到精通: 可选项、展开和类型转换
    文章目录处理缺失数据展开可选值用保护装置解开强制展开隐式解包可选值零合并可选链式调用可选尝试可失败的初始化器类型转换总结处理缺失数据我们已经使用诸如之类的类型Int来保存像5这样的值。但是如果您想存储age用户的属性,如果您不知道某人的年龄,您会怎么做?......
  • NSIS 入门教程 (一)
     介绍大多数应用程序都附带一个安装程序,它将所需的文件复制到正确的文件夹中,创建注册表项,并提供卸载例程以(希望)从计算机中彻底删除应用程序.有多种解决方案可以为自主开发的应用程序配备安装程序。除了InstallShield或Wise等商业产品外,还有开源安装工具NullsoftScriptable......
  • YOLOv5快速入门和使用
    YOLOv5快速入门使用官方文档地址:https://docs.ultralytics.com/zh/yolov5/如果文章看不懂,过一遍自己整理过程,然后去参考视频中看对应的视频:环境准备-->代码拉取-->打标-->训练模型-->运行 一、配置虚拟环境(不止是YOLO如果使用其余的需要隔离环境也可以这样操作)为了防止影......
  • NSIS 入门教程 (二)
    引言   在教程的第一部分中创建第一个安装程序后,我们还将需要删除其安装区段中已安装的文件。我们还将展示更多安装引导页面,让用户有机会选择安装的某些部分。   卸载   创建一个安装程序.可以干净的卸载,不仅是一种礼貌,对于程序的开发与发行方也有很多好处: ......
  • 模拟退火算法(Simulated Annealing, SA)及微优化(入门)
    模拟退火算法(SimulatedAnnealing,SA)是一种启发式搜索算法,常用于解决优化问题。该算法以概率的方式搜索问题的解空间,并在搜索过程中逐渐降低温度,从而有助于找到全局最优解。模拟退火算法的基本原理如下:初始化:随机生成一个初始解。迭代过程:生成一个新解,这个新解通过一......
  • Michael M. Tiller《Modelica多领域物理系统建模入门与提高》Chapter 4学习笔记
    文章目录第四章组件重用4.1概述4.2公共代码开发4.2.1识别和定义公共代码4.2.2使用公共代码定义模型4.3构建可重用的块4.3.1建立控制器模型4.3.2传递信息4.3.3小结4.4允许替换的组件4.4.1通用控制器接口4.4.2特定控制器模型4.4.3使用可替换组件4.4.4小结......
  • MyBatis-Plus入门教程(一)
    MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上为其提供了许多便捷功能,使开发者能够更快速、高效地进行数据库操作。MyBatis-Plus简介1.什么是MyBatis-Plus?MyBatis-Plus(简称MP)是一个MyBatis的增强工具,它旨在简化开发过程,减少重复代码,提高开发效率。MP通......
  • Mybatis-plus入门教程(二)
    第一步:环境准备1.添加依赖确保在项目的构建文件中添加MyBatis-Plus依赖。Maven:<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.4</version></dependency>Gradle:im......
  • Qt入门程序
    一、QtCreator简介    QtCreator为应用程序开发人员提供了一个完整的跨平台、集成开发环境(IDE)以便为桌面、嵌入式和移动设备平台(如Android和ios)创建应用程序。    QtCreator提供了在整个应用程序开发生命周期所需的工具,从创建项目到将应用程序部署......