Python酷库之旅-第三方库Pandas(124)

news2024/11/14 7:06:53

目录

一、用法精讲

551、pandas.DataFrame.notna方法

551-1、语法

551-2、参数

551-3、功能

551-4、返回值

551-5、说明

551-6、用法

551-6-1、数据准备

551-6-2、代码示例

551-6-3、结果输出

552、pandas.DataFrame.notnull方法

552-1、语法

552-2、参数

552-3、功能

552-4、返回值

552-5、说明

552-6、用法

552-6-1、数据准备

552-6-2、代码示例

552-6-3、结果输出

553、pandas.DataFrame.pad方法

553-1、语法

553-2、参数

553-3、功能

553-4、返回值

553-5、说明

553-6、用法

553-6-1、数据准备

553-6-2、代码示例

553-6-3、结果输出

554、pandas.DataFrame.replace方法

554-1、语法

554-2、参数

554-3、功能

554-4、返回值

554-5、说明

554-6、用法

554-6-1、数据准备

554-6-2、代码示例

554-6-3、结果输出

555、pandas.DataFrame.droplevel方法

555-1、语法

555-2、参数

555-3、功能

555-4、返回值

555-5、说明

555-6、用法

555-6-1、数据准备

555-6-2、代码示例

555-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

551、pandas.DataFrame.notna方法
551-1、语法
# 551、pandas.DataFrame.notna方法
pandas.DataFrame.notna()
Detect existing (non-missing) values.

Return a boolean same-sized object indicating if the values are not NA. Non-missing values get mapped to True. Characters such as empty strings '' or numpy.inf are not considered NA values (unless you set pandas.options.mode.use_inf_as_na = True). NA values, such as None or numpy.NaN, get mapped to False values.

Returns:
DataFrame
Mask of bool values for each element in DataFrame that indicates whether an element is not an NA value.
551-2、参数

        无

551-3、功能

        该方法逐元素检查DataFrame,判断每个元素是否为缺失值。

551-4、返回值

        返回一个与原DataFrame形状相同的布尔DataFrame,其中每个元素对应着原DataFrame中元素的非缺失状态。

551-5、说明

        无

551-6、用法
551-6-1、数据准备
551-6-2、代码示例
# 551、pandas.DataFrame.notna方法
import pandas as pd
import numpy as np
# 创建示例DataFrame
data = {
    'A': [1, 2, np.nan],
    'B': [np.nan, 3, 4],
    'C': [5, np.nan, 6]
}
df = pd.DataFrame(data)
# 使用notna()方法
not_na_df = df.notna()
print(not_na_df)
551-6-3、结果输出
# 551、pandas.DataFrame.notna方法
#        A      B      C
# 0   True  False   True
# 1   True   True  False
# 2  False   True   True
552、pandas.DataFrame.notnull方法
552-1、语法
# 552、pandas.DataFrame.notnull方法
pandas.DataFrame.notnull()
DataFrame.notnull is an alias for DataFrame.notna.

Detect existing (non-missing) values.

Return a boolean same-sized object indicating if the values are not NA. Non-missing values get mapped to True. Characters such as empty strings '' or numpy.inf are not considered NA values (unless you set pandas.options.mode.use_inf_as_na = True). NA values, such as None or numpy.NaN, get mapped to False values.

Returns:
DataFrame
Mask of bool values for each element in DataFrame that indicates whether an element is not an NA value.
552-2、参数

        无

552-3、功能

        该方法逐元素检查DataFrame,判断每个元素是否为非缺失值。

552-4、返回值

        返回一个与原DataFrame形状相同的布尔DataFrame,对于每个位置:

  • True:表示该位置的值是有效值(非缺失值)。
  • False:表示该位置的值是缺失值(如NaN)。
552-5、说明

        无

552-6、用法
552-6-1、数据准备
552-6-2、代码示例
# 552、pandas.DataFrame.notnull方法
import pandas as pd
import numpy as np
# 创建示例DataFrame
data = {
    'A': [1, 2, np.nan],
    'B': [np.nan, 3, 4],
    'C': [5, np.nan, 6]
}
df = pd.DataFrame(data)
# 使用notnull()方法
not_null_df = df.notnull()
print(not_null_df)
552-6-3、结果输出
# 552、pandas.DataFrame.notnull方法
#        A      B      C
# 0   True  False   True
# 1   True   True  False
# 2  False   True   True
553、pandas.DataFrame.pad方法
553-1、语法
# 553、pandas.DataFrame.pad方法
pandas.DataFrame.pad(*, axis=None, inplace=False, limit=None, downcast=_NoDefault.no_default)
Fill NA/NaN values by propagating the last valid observation to next valid.

Deprecated since version 2.0: Series/DataFrame.pad is deprecated. Use Series/DataFrame.ffill instead.

Returns:
Series/DataFrame or None
Object with missing values filled or None if inplace=True.
553-2、参数

553-2-1、axis(可选,默认值为None){0 or 'index', 1 or 'columns'},指定填充的方向:

  • 0或'index':进行按行填充。
  • 1或'columns':进行按列填充。
  • None:默认情况下按行填充。

553-2-2、inplace(可选,默认值为False)布尔值,如果为True,则直接在原DataFrame上进行填充,不返回新的对象;如果为False,则返回填充后的新DataFrame,而不改变原始DataFrame。

553-2-3、limit(可选,默认值为None)整数,指定每列或每行能填充的缺失值的最大数量,如果没有设置,则会填充所有缺失值。

553-2-4、downcast(可选)字符串,用于在填充过程中将结果的类型向下转换(例如将浮点数转换为整数等),可以指定想要的类型。

553-3、功能

        用于在DataFrame中填充缺失值的方法,该方法可以通过向前填充或向后一致地填充缺失值,以便用已知的值替代缺失值。

553-4、返回值

        返回一个新的DataFrame(如果inplace=False)或对原DataFrame进行修改(如果inplace=True),填充了缺失值,返回的DataFrame保留了原始DataFrame的索引和列标签。

553-5、说明

        无

553-6、用法
553-6-1、数据准备
553-6-2、代码示例
# 553、pandas.DataFrame.pad方法
import pandas as pd
import numpy as np
# 创建示例DataFrame
data = {
    'A': [1, np.nan, 3],
    'B': [4, 5, np.nan],
    'C': [np.nan, np.nan, 6]
}
df = pd.DataFrame(data)
# 使用pad方法向前填充缺失值
filled_df = df.pad()
print(filled_df)
553-6-3、结果输出
# 553、pandas.DataFrame.pad方法
#      A    B    C
# 0  1.0  4.0  NaN
# 1  1.0  5.0  NaN
# 2  3.0  5.0  6.0
554、pandas.DataFrame.replace方法
554-1、语法
# 554、pandas.DataFrame.replace方法
pandas.DataFrame.replace(to_replace=None, value=_NoDefault.no_default, *, inplace=False, limit=None, regex=False, method=_NoDefault.no_default)
Replace values given in to_replace with value.

Values of the Series/DataFrame are replaced with other values dynamically. This differs from updating with .loc or .iloc, which require you to specify a location to update with some value.

Parameters:
to_replacestr, regex, list, dict, Series, int, float, or None
How to find the values that will be replaced.

numeric, str or regex:

numeric: numeric values equal to to_replace will be replaced with value

str: string exactly matching to_replace will be replaced with value

regex: regexs matching to_replace will be replaced with value

list of str, regex, or numeric:

First, if to_replace and value are both lists, they must be the same length.

Second, if regex=True then all of the strings in both lists will be interpreted as regexs otherwise they will match directly. This doesn’t matter much for value since there are only a few possible substitution regexes you can use.

str, regex and numeric rules apply as above.

dict:

Dicts can be used to specify different replacement values for different existing values. For example, {'a': 'b', 'y': 'z'} replaces the value ‘a’ with ‘b’ and ‘y’ with ‘z’. To use a dict in this way, the optional value parameter should not be given.

For a DataFrame a dict can specify that different values should be replaced in different columns. For example, {'a': 1, 'b': 'z'} looks for the value 1 in column ‘a’ and the value ‘z’ in column ‘b’ and replaces these values with whatever is specified in value. The value parameter should not be None in this case. You can treat this as a special case of passing two lists except that you are specifying the column to search in.

For a DataFrame nested dictionaries, e.g., {'a': {'b': np.nan}}, are read as follows: look in column ‘a’ for the value ‘b’ and replace it with NaN. The optional value parameter should not be specified to use a nested dict in this way. You can nest regular expressions as well. Note that column names (the top-level dictionary keys in a nested dictionary) cannot be regular expressions.

None:

This means that the regex argument must be a string, compiled regular expression, or list, dict, ndarray or Series of such elements. If value is also None then this must be a nested dictionary or Series.

See the examples section for examples of each of these.

valuescalar, dict, list, str, regex, default None
Value to replace any values matching to_replace with. For a DataFrame a dict of values can be used to specify which value to use for each column (columns not in the dict will not be filled). Regular expressions, strings and lists or dicts of such objects are also allowed.

inplacebool, default False
If True, performs operation inplace and returns None.

limitint, default None
Maximum size gap to forward or backward fill.

Deprecated since version 2.1.0.

regexbool or same types as to_replace, default False
Whether to interpret to_replace and/or value as regular expressions. Alternatively, this could be a regular expression or a list, dict, or array of regular expressions in which case to_replace must be None.

method{‘pad’, ‘ffill’, ‘bfill’}
The method to use when for replacement, when to_replace is a scalar, list or tuple and value is None.

Deprecated since version 2.1.0.

Returns:
Series/DataFrame
Object after replacement.

Raises:
AssertionError
If regex is not a bool and to_replace is not None.

TypeError
If to_replace is not a scalar, array-like, dict, or None

If to_replace is a dict and value is not a list, dict, ndarray, or Series

If to_replace is None and regex is not compilable into a regular expression or is a list, dict, ndarray, or Series.

When replacing multiple bool or datetime64 objects and the arguments to to_replace does not match the type of the value being replaced

ValueError
If a list or an ndarray is passed to to_replace and value but they are not the same length.
554-2、参数

554-2-1、to_replace(可选,默认值为None)scalar, list-like, dict或正则表达式,指要被替换的值,可以是单个值、值的列表或者一个字典(键为旧值,值为新值),也可以是正则表达式。

554-2-2、value(可选)scalar, list-like或 dict,表示新的值,用于替换to_replace中对应的值,如果to_replace是一个字典,则value也应是一个字典,且键值对应。

554-2-3、inplace(可选,默认值为False)布尔值,如果为True,则直接在原DataFrame上进行替换,不返回新的对象;如果为False,则返回替换后的新DataFrame,而不改变原始DataFrame。

554-2-4、limit(可选,默认值为None)整数,指定最大替换次数,如果未设置,则会替换所有符合条件的值。

554-2-5、regex(可选,默认值为False)布尔值,如果为True,to_replace将被视为正则表达式,并根据正则表达式的匹配进行替换。

554-2-6、method(可选)字符串,该参数仅在使用to_replace为字典时有效,可以指定替换的方式,例如'pad'或'ffill'。

554-3、功能

        用于替换DataFrame中指定值的方法,该方法可以用新的值替换旧的值,支持多种替换方式,如逐元素替换、使用正则表达式等。

554-4、返回值

        返回一个新的DataFrame(如果inplace=False)或对原DataFrame进行修改(如果inplace=True),替换了指定的值,返回的DataFrame保留了原始DataFrame的索引和列标签。

554-5、说明

        无

554-6、用法
554-6-1、数据准备
554-6-2、代码示例
# 554、pandas.DataFrame.replace方法
import pandas as pd
# 创建示例DataFrame
data = {
    'A': [1, 2, 3],
    'B': ['apple', 'banana', 'apple'],
    'C': [3.5, 4.5, 5.5]
}
df = pd.DataFrame(data)
# 使用replace方法替换值
df_replaced = df.replace({'apple': 'orange', 2: 20})
print(df_replaced)
554-6-3、结果输出
# 554、pandas.DataFrame.replace方法
#     A       B    C
# 0   1  orange  3.5
# 1  20  banana  4.5
# 2   3  orange  5.5
555、pandas.DataFrame.droplevel方法
555-1、语法
# 555、pandas.DataFrame.droplevel方法
pandas.DataFrame.droplevel(level, axis=0)
Return Series/DataFrame with requested index / column level(s) removed.

Parameters:
levelint, str, or list-like
If a string is given, must be the name of a level If list-like, elements must be names or positional indexes of levels.

axis{0 or ‘index’, 1 or ‘columns’}, default 0
Axis along which the level(s) is removed:

0 or ‘index’: remove level(s) in column.

1 or ‘columns’: remove level(s) in row.

For Series this parameter is unused and defaults to 0.

Returns:
Series/DataFrame
Series/DataFrame with requested index / column level(s) removed.
555-2、参数

555-2-1、level(必须)int, str或者list,指定要删除的级别,可以是:

  • 级别的整数位置(例如0表示第一个级别)
  • 级别的名称(如果索引有命名的话)
  • 由上述两种类型构成的列表,用于同时删除多个级别。

555-2-2、axis(可选,默认值为0){0 or 'index', 1 or 'columns'},指定填充的方向:

  • 0或'index':进行按行填充。
  • 1或'columns':进行按列填充。
  • None:默认情况下按行填充。
555-3、功能

        从指定的MultiIndex中删除给定级别,这样可以简化数据框的索引结构。当删除级别时,其他级别的信息将被保留,最终的DataFrame仍将是一个有效的pandas DataFrame,只是索引的结构发生了变化。

555-4、返回值

        返回一个新的DataFrame,索引或列索引中指定级别被删除后形成的新DataFrame,原始DataFrame不会被修改。

555-5、说明

        无

555-6、用法
555-6-1、数据准备
555-6-2、代码示例
# 555、pandas.DataFrame.droplevel方法
import pandas as pd
# 创建一个MultiIndex DataFrame
arrays = [
    ['A', 'A', 'B', 'B'],
    ['one', 'two', 'one', 'two']
]
index = pd.MultiIndex.from_arrays(arrays, names=('letter', 'number'))
data = pd.DataFrame({'value': [1, 2, 3, 4]}, index=index)
# 输出原始DataFrame
print("原始DataFrame:")
print(data)
# 使用droplevel删除其中一个级别
data_dropped = data.droplevel(level='number', axis=0)
# 输出处理后的DataFrame
print("\n删除级别后的DataFrame:")
print(data_dropped)
555-6-3、结果输出
# 555、pandas.DataFrame.droplevel方法
# 原始DataFrame:
#                value
# letter number       
# A      one         1
#        two         2
# B      one         3
#        two         4
# 
# 删除级别后的DataFrame:
#         value
# letter       
# A           1
# A           2
# B           3
# B           4

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

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

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

相关文章

BitSet-解决数据压缩问题

一、问题引入 假设QQ音乐服务器上有9000万首音乐,用户按照歌名来搜索歌曲,如何使得满足这一需求所需的数据占用的内存空间最小以及用户搜索歌曲速度更快 二、分析问题 1、为了满足使得数据占用的内存更小,可以采用映射的思路,按…

项目实战bug修复

实操bug修复记录 左侧侧边栏切换,再次切换侧边栏,右侧未从顶部初始位置展示。地图定位展示,可跳转到设置的对应位置。一个页面多个el-dialog弹出框导致渲染层级出现问题。锚点滚动定位错位问题。动态类名绑定。el-tree树形通过 draggable 属性…

Linux 进程与进程状态

目录 1.进程。 1.进程的概念 2.并行和并发 3.并行和并发的区别: 4.PCB(程序控制块) 5.进程组与会话。 6.进程状态。 1.进程。 1.进程的概念 进程是操作系统进行资源分配和调度的一个独立单位。每个进程都运行在操作系统的控制之下&…

游戏化在电子课程中的作用:提高参与度和学习成果

游戏化,即游戏设计元素在非游戏环境中的应用,已成为电子学习领域的强大工具。通过将积分、徽章、排行榜和挑战等游戏机制整合到教育内容中,电子课程可以变得更具吸引力、激励性和有效性。以下是游戏化如何在转变电子学习中发挥重要作用&#…

git命令将已经commit的代码push到其他分支

文章目录 一:对于多分支的代码库,将提交记录从一个分支转移到另一个分支是常见需求方法1:撤销commit操作方法2:实用命令git cherry-pick 来移动commit 二、不小心revert导致代码消失的问题 一:对于多分支的代码库&…

U8集成网页开发的数据查询(二)

前言 根据上一篇的开发,最近又做了一些单据查询的开发。 效果展示图片 结语 目前网页查询已经完善功能: 1.与U8的账号密码保持一致,定时从U8同步账号密码。 2.角色管理,权限分配。 3.U8基础档案数据查询(示例&#…

828华为云征文 | 解锁企业级邮件服务,在华为云Flexus x实例上部署Mailcow开源方案

前言 华为云Flexus X实例携手Mailcow开源邮件方案,为企业打造了一个既高效又安全的邮件服务解决方案。Flexus X实例的柔性算力与高性能,是这一方案的坚实基石。它提供CPU内存的灵活定义,以经济型价格实现旗舰级性能,确保邮件服务的…

实例讲解电动汽车故障分级处理策略及Simulink建模方法

电动汽车的故障有很多种,每种故障发生时产生危害性是不同的,因此对于不同故障应采取不同的处理方式。目前一般有两种故障处理方式,一种是针对每一种故障对其故障危害性进行判断,然后针对不同故障设定不同的故障处理机制&#xff1…

day-59 四数之和

思路 双指针&#xff1a;类似16. 最接近的三数之和&#xff0c;将数组排序后&#xff0c;只需要枚举第一个数&#xff0c;则会变为与第16题相似的解题思路 解题过程 枚举选取的第一个数&#xff0c;0<i<len-3,然后就是第16题的解题思路 Code class Solution {public L…

【Linux实践】实验三:LINUX系统的文件操作命令

【Linux实践】实验三&#xff1a;LINUX系统的文件操作命令 实验目的实验内容实验步骤及结果1. 切换和查看目录2. 显示目录下的文件3. 创建和删除目录① mkdir② rm③ rmdir 4. 输出和重定向① 输出② 重定向 > 和 >> 5. 查看文件内容① cat② head 6. 权限7. 复制8. 排…

Kali nmap扫描

物理机 ipconfig 扫描物理机 nmap 192.168.0.198 扫描物理机所有开放的端口&#xff08;TCP半开扫描 nmap -sS 192.168.0.198 扫描物理机所有开放的端口&#xff08;TCP全开扫描 nmap -sT 192.168.0.198 扫描物理机主机系统 nmap -O 192.168.0.198 扫描物理机所在网段所有…

C++ STL容器(三) —— 迭代器底层剖析

本篇聚焦于STL中的迭代器&#xff0c;同样基于MSVC源码。 文章目录 迭代器模式应用场景实现方式优缺点 UML类图代码解析list 迭代器const 迭代器非 const 迭代器 vector 迭代器const 迭代器非const迭代器 反向迭代器 迭代器失效参考资料 迭代器模式 首先迭代器模式是设计模式中…

YOLOv8——测量高速公路上汽车的速度

引言 在人工神经网络和计算机视觉领域&#xff0c;目标识别和跟踪是非常重要的技术&#xff0c;它们可以应用于无数的项目中&#xff0c;其中许多可能不是很明显&#xff0c;比如使用这些算法来测量距离或对象的速度。 测量汽车速度基本步骤如下&#xff1a; 视频采集&#x…

江协科技STM32学习- P18 实验-PWM输入捕获测频率PWMI输入捕获模式测频率和占空比

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

分布式光伏的发电监控

国拥有丰富的清洁可再生能源资源储量&#xff0c;积极开发利用可再生能源&#xff0c;为解决当前化石能源短缺与环境污染严重的燃眉之急提供了有效途径[1]。但是可再生能源的利用和开发&#xff0c;可再生能源技术的发展和推广以及可再生能源资源对环境保护的正向影响&#xff…

Qt窗口——QMenuBar

文章目录 QMenuBar示例演示给菜单栏设置快捷键给菜单项设置快捷键添加子菜单添加分割线添加图标 QMenuBar Qt中采用QMenuBar来创建菜单栏&#xff0c;一个主窗口&#xff0c;只允许有一个菜单栏&#xff0c;位于主窗口的顶部、主窗口标题栏下面&#xff1b;一个菜单栏里面有多…

计算机毕业设计之:基于微信小程序的电费缴费系统(源码+文档+讲解)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

鸿蒙OpenHarmony【小型系统基础内核(进程管理调度器)】子系统开发

调度器 基本概念 OpenHarmony LiteOS-A内核采用了高优先级优先 同优先级时间片轮转的抢占式调度机制&#xff0c;系统从启动开始基于real time的时间轴向前运行&#xff0c;使得该调度算法具有很好的实时性。 OpenHarmony 的调度算法将 tickless 机制天然嵌入到调度算法中&…

gRPC介绍

gRPC 是一个由谷歌开发的现代开源高性能 RPC 远程过程调用&#xff08; Remote Procedure Calls&#xff09;框架&#xff0c;具备良好的兼容性&#xff0c;可在多个开发环境下运行。 相较于目前主流的 HTTP API 接口&#xff0c;gRPC 接口采用了领先的 HTTP/2 底层架构设计作…

input文本框随其中内容而变化长

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><title>input文本框随其中内容而变化长</title><style>.input-length {border: 1px solid #ccc;padding: 5px;min-width: 10px;width: auto;}.in…