python数据分析05—Pandas数据处理

目录

1.缺失数据处理

1.1 DataFrame自身产生的缺失数据

1.2 缺失数据判断和统计

​1.3 缺失数据清理

2. 多源数据操作

2.1 合并函数:merge()

2.2 连接函数:join()

 2.3 指定方向合并:concat()

3. 数据分组和聚合运算

3.1 groupby()方法

3.2 聚合:aggregate()方法

3.2.1 一般聚合使用 

3.2.2 分组聚合


 

1.缺失数据处理

1.1 DataFrame自身产生的缺失数据

通过调整列名(reindex), 并增加带缺失值的‘four’列。

M2=M1.reindex(columns=['two','one','three','four'])

1.2 缺失数据判断和统计

1.3 缺失数据清理

(1)常量替代 :

(2)通过fillna()方法替代: 

(3)丢弃带缺失值的行或者列 :

 (4) 用repalce()方法替换缺失值: 

replace(to_replace=None,value=None)用value指定的新值,替换to_replace指定的原值。

 

2. 多源数据操作

2.1 合并函数:merge()

merge(left, right, how=‘inner’, on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=(’_x’, ‘_y’), copy=True, indicator=False, validate=None)

 

 

2.2 连接函数:join()

通过索引或者指定的列连接两个DataFrame:

DataFrame.join(other, on=None, how=’left’, lsuffix=”, rsuffix=”, sort=False) 

参数说明
other:【DataFrame,或者带有名字的Series,或者DataFrame的list】如果传递的是Series,那么其name属性应当是一个集合,并且该集合将会作为结果DataFrame的列名
on:【列名称,或者列名称的list/tuple,或者类似形状的数组】连接的列,默认使用索引连接
how:【{‘left’, ‘right’, ‘outer’, ‘inner’}, default:‘left’】连接的方式,默认为左连接
lsuffix:【string】左DataFrame中重复列的后缀
rsuffix:【string】右DataFrame中重复列的后缀
sort:【boolean, default
False】按照字典顺序对结果在连接键上排序。如果为False,连接键的顺序取决于连接类型(关键字)。

实例:

现有first与other两个DataFrame对象。

 2.3 指定方向合并:concat()

通过指定axis方向,进行多数据源合并。

pd.concat()函数可以沿着指定的轴将多个dataframe或者series拼接到一起,这一点和另一个常用的pd.merge()函数不同,pd.merge()函数只能实现两个表的拼接。

pd.concat( objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True,)

 

参数含义

  • objs:Series,DataFrame或Panel对象的序列或映射。如果传递了dict,则排序的键将用作键参数,除非它被传递,在这种情况下,将选择值(见下文)。任何无对象将被静默删除,除非它们都是无,在这种情况下将引发一个ValueError。
  • axis:指定合并方向,默认值为0,为竖向合并。1为横向合并。
  • join:{'inner','outer'},默认为“outer”。如何处理其他轴上的索引。outer为联合和inner为交集。
  • ignore_index:boolean,default False。如果为True,请不要使用并置轴上的索引值。结果轴将被标记为0,...,n-1。如果要连接其中并置轴没有有意义的索引信息的对象,这将非常有用。注意,其他轴上的索引值在连接中仍然受到尊重。
  • join_axes:Index对象列表。用于其他n-1轴的特定索引,而不是执行内部/外部设置逻辑。
  • keys:序列,默认值无。使用传递的键作为最外层构建层次索引。如果为多索引,应该使用元组。
  • levels:序列列表,默认值无。用于构建MultiIndex的特定级别(唯一值)。否则,它们将从键推断。
  • names:list,default无。结果层次索引中的级别的名称。
  • verify_integrity:boolean,default False。检查新连接的轴是否包含重复项。这相对于实际的数据串联可能是非常昂贵的。
  • copy:boolean,default True。如果为False,请勿不必要地复制数据。

(4条消息) pandas的连接函数concat()函数_concat pandas_zzpdbk的博客-CSDN博客 

 

3. 数据分组和聚合运算

3.1 groupby()方法

(8条消息) groupby函数详解_.groupby_Vergil_Zsh的博客-CSDN博客 

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, group_keys=True, squeeze=False,  observed=False, **kwargs)

 

例子: 

 对School信息按照学校行索引进行分组,然后统计体育、美术、舞蹈的人数。

如下按性别:

 通过如上对比可见是通过level来确定统计标准。

 

 

3.2 聚合:aggregate()方法

aggregate(func,axis=0,*arg,**kwargs) 

func:指定用于集合运算的函数,具体类型包括自定义函数名,字符串函数名,列表函数名等。

3.2.1 一般聚合使用 

(1)内置函数聚合运算

(2)自定义函数聚合运算 

(3)多统计函数聚合运算 

3.2.2 分组聚合

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

相关文章

(34)继电器开关

文章目录 前言 34.1 装有IOMCU的自动驾驶仪上的继电器引脚 34.2 通过任务规划器定义继电器引脚 34.3 飞行员控制继电器 34.4 任务控制继电器 34.5 任务规划器控制继电器 前言 "继电器"是自动驾驶仪上的一个数字输出引脚,可在 0V 和 3.3V 或 5V 之间…

《向量数据库指南》:使用公共的Pinecone数据集

目录 数据集包含向量和元数据 列出公共数据集 加载数据集 迭代数据集 分批迭代文档并插入到索引中。 将数据集插入为数据帧。 接下来怎么做 本文档介绍如何使用现有的Pinecone数据集。 要了解创建和列出数据集的方法,请参阅创建数据集。 数据集包含向量和元数据 P…

WPF 搜索框控件样式

WPF 搜索框控件样式 完全通过Xaml代码实现&#xff0c;使用了UserControl进行封装。功能包括聚焦时控件展开&#xff0c;输入为空时的文字提示&#xff0c;以及待选提示项列表等效果。实现效果如下图&#xff1a; xaml代码 <UserControl x:Class"SearchBar.SearchBo…

《C语言杂记》C语言内存泄露分析与检测

1 内存泄露分析 在堆上分配的内存&#xff0c;没有及时释放掉&#xff0c;以便后面其它地方可以重用。在C/C中&#xff0c;内存管理器不会帮你自动回收不再使用的内存。如果你忘了释放不再使用的内存&#xff0c;这些内存就不能被重用&#xff0c;就造成了所谓的内存泄露。 一…

栈OJ(C++)

文章目录 1.最小栈2.栈的压入、弹出序列3.逆波兰表达式&#xff08;后缀表达式&#xff09;求值3.1后缀表达式求值3.2中缀表达式转后缀表达式3.3带有括号的中缀表达式转后缀表达式 1.最小栈 class MinStack { public:MinStack(){}void push(int val){_st.push(val);//empty放在…

7.23 校招实习内推 面经

1、半导体芯片一周资讯 - 英特尔全球裁员1.2万人&#xff0c;台积电3纳米良率仅为55% &#xff0c;马斯克特斯拉正自研芯片 但不会称作GPU 半导体芯片一周资讯 - 英特尔全球裁员1.2万人&#xff0c;台积电3纳米良率仅为55% &#xff0c;马斯克特斯拉正自研芯片 但不会称作GPU …

【kafka调试】用命令行查看kafka是否发出了命令

server 10.10.90.210:9092 topic stream_manager_center_capture_file 摄像头id&#xff1a; 17283ed2a1ac685f9fd5ef9f0de04792 cd /usr/loca/kafka bin/kafka-console-consumer.sh --bootstrap-server 10.10.90.210:9092 --topic stream_manager_center_capture_file 然后添…

<C语言> 数据在内存中的存储

1.数据类型介绍 C语言中的基本内置类型如下&#xff1a; char //字符数据类型 short //短整型 int //整型 long //长整型 long long //更长的整型 float //单精度浮点数 double //双精度浮点数类型的意义&#xff1a; 1.使用这个类…

设计模式-抽象工厂模式

在经济学领域中&#xff0c;其主要研究对象(商品)之间根据消费依存关系可分为互补商品或替代商品&#xff0c;其中&#xff0c;互补商品如汽车与汽油、自行车与自行车胎、大饼和香肠、开水和泡面等。在面向对象的代码世界中&#xff0c;不同对象之间也存在这种类似相互依赖的关…

使用 ChatGPT 碰到的坑

最近在使用 ChatGPT 的时候碰到一个小坑&#xff0c;因为某些特殊情况我需要使用 syslog 向 logbeat 中发送日志。 由于这是一个比较古老的协议&#xff0c;确实也没接触过&#xff0c;所以就想着让 ChatGPT 帮我生成个例子。 原本我已经在 Go 中将这个流程跑通&#xff0c;所…

RocketMQ集成Springboot --Chapter5

RocketMQ tag过滤和sql92语法过滤 tag过滤 生产者&#xff0c;由于springboot没有专门对mq进行tag标记的方法&#xff0c;只是在topic:后面加上&#xff0c;所以只需 rocketMQTemplate.sendOneWay(“tagFilterBoot:TagA”,msg1);标记即可 生产者代码如下 /***生产者* tag过滤*…

PyTorch从零开始实现Transformer

文章目录 自注意力Transformer块编码器解码器块解码器整个Transformer参考来源全部代码&#xff08;可直接运行&#xff09; 自注意力 计算公式 代码实现 class SelfAttention(nn.Module):def __init__(self, embed_size, heads):super(SelfAttention, self).__init__()self.e…

Windows Spark 开发测试版本快速搭建

1、Spark 包下载 清华大学开源软件镜像站下载(速度较快&#xff0c;但版本不全)官方各个版本 下载后解压即可。 &#xff08;可选&#xff09;添加环境变量 SPARK_HOME。并将 %SPARK_HOME%/bin、%SPARK_HOME%/sbin 添加到 path 中。 ps&#xff1a;本文使用的是 spark-3.3.0…

【unity】RectTransform与Transform组件有什么区别

RectTransform组件是Unity中用于控制UI元素位置、大小和旋转的组件。它是UI系统的一部分&#xff0c;用于在屏幕空间中布局和定位UI元素。 与transform组件相比&#xff0c;RectTransform组件具有以下区别&#xff1a; 1. 坐标系统&#xff1a;RectTransform组件使用屏幕空间坐…

线上问题排查-dubbo-Dubbo client can not supported string message

1.问题描述 线上值班时&#xff0c;收到告警通知dubbo 调用异常。 主要报错包括下面两条记录&#xff1a; [DUBBO] Dubbo client can not supported string message: [ERROR] [New I/O client worker #1-3] com.alibaba.dubbo.remoting.transport.AbstractCodec - Data len…

一起学SF框架系列5.8-spring-Beans-Bean注解解析3-解析配置component-scan

本文主要讲述Spring是如何解析“context:component-scan”元素&#xff0c;扫描加载目录下的BeanDefinition。 解析内容 1、解析的元素如下&#xff1a; <!-- 注解模式&#xff1a;配置bean扫描路径&#xff08;注&#xff1a;自动包含子路径&#xff09; --><conte…

SpringAOP面向切面编程 通知类型

一、通知类型 Around&#xff1a;环绕通知&#xff0c;此注解标注的通知方法在目标方法前、后都被执行 Before&#xff1a;前置通知&#xff0c;此注解标注的通知方法在目标方法前被执行 After&#xff1a;后置通知&#xff0c;此注解标注的通知方法在目标方法后被执行&…

Linux-tomcat环境搭建、jpress部署实践、nginx反向代理

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a; 小刘主页 ♥️努力不一定有回报&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️学习两年总结出的运维经验&#xff0c;以及思科模拟器全套网络实验教程。专栏&#xf…

分类评估指标

文章目录 1. 混淆矩阵2. Precision(精准率)3. Recall(召回率)4. F1-score5. ROC曲线和AUC指标5.1 ROC 曲线5.2 绘制 ROC 曲线5.3 AUC 值6. API介绍6.1 **分类评估报告api**6.2 **AUC计算API**练习-电信客户流失预测1. 数据集介绍2. 处理流程3. 案例实现4. 小结1. 混淆矩阵

ElasticSearch学习--RestClient及案例

目录 RestClient查询文档 快速入门 总结 全文检索&#xff08;match&#xff09;查询 精确查询 复合查询 查询总结 排序&#xff0c;分页 高亮 RestClient查询文档 快速入门 总结 全文检索&#xff08;match&#xff09;查询 多种查询的差异都在做类型和条件上&#x…