如何按指定列的空值删除行?

目录

    • 1、按指定列的空值删除行
    • 2、滑动窗口按指定列的值填充最前面的缺失值



1、按指定列的空值删除行


数据准备:

df = pd.DataFrame({'C1': [1, 2, 3, 4], 'C2': ['A', np.NaN, 'C', 'D'], 'C3': ['V1', 'V2', 'V3', np.NaN]})
print(df.to_string())
'''C1   C2   C3
0   1    A   V1
1   2  NaN   V2
2   3    C   V3
3   4    D  NaN
'''

我们知道,Pandas的dropna()方法可以删除包含空值或全为空值的行或列,例如:

# 删除包含空值的行
df_dropna = df.dropna(how='any')
print(df_dropna.to_string())
'''C1 C2  C3
0   1  A  V1
2   3  C  V3
'''

那么,如何按指定列的空值删除行而不影响其他有空值的列的空值所在的行?

# 删除指定列值为空的行,例如,删除C3列值为NaN的行
df.drop(df[df['C3'].isna()].index, inplace=True)
print(df.to_string())
'''C1   C2  C3
0   1    A  V1
1   2  NaN  V2
2   3    C  V3
'''

2、滑动窗口按指定列的值填充最前面的缺失值


Pandas实现类似Hive的滑动窗口如下:

# 按某列滑动(前提:DataFrame已经按照某列(如日期列、这里的C1列)升序排序)
df['V3_last'] = df['C3'].shift(1)
print(df.to_string())
'''C1   C2  C3 V3_last
0   1    A  V1    None
1   2  NaN  V2      V1
2   3    C  V3      V2
'''

那么,滑动后,最前面的空值我们要想使用指定列的值填充应该怎么操作呢?

# 平移后,最前面的空值使用当前平移列(C3列)的值填充
df['V3_last_fillna'] = df['C3'].shift(1).fillna(df['C3'])
print(df.to_string())
'''C1   C2  C3 V3_last V3_last_fillna
0   1    A  V1    None             V1
1   2  NaN  V2      V1             V1
2   3    C  V3      V2             V2
'''


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

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

相关文章

构筑双品牌矩阵背后,广汽埃安讲出能源生态闭环的“新故事”

“一路繁花”用来形容广汽埃安的2023年并不为过。 2023年12月28日,埃安达成累计产销百万辆的目标,成为全球最快破百万的纯电品牌、新能源品牌以及汽车品牌;全年累计销量超48万辆,同比增长77%。 值得一提的是,2023年以…

python flask request教程

request 一、传json1、resquest.get_data()与resquest.data2、request.get_json()3、request.json["imageURL"]二、传file1、request.files["file"]2、request.form["username"]3、request.form.get(username)与2等价,其他get()与[]也相同三、其…

APP合规上架需注意哪些方面

在编写关于APP上架合规指南的文章时,有几个关键方面需要考虑,以确保应用程序在各个应用商店上获得批准并符合法规要求。以下是一份综合性的指南: admaoyan猫眼聚合 1. 了解各应用商店的规定: 在开始上架应用之前,务必详…

C#中ArrayList运行机制及其涉及的装箱拆箱

C#中ArrayList运行机制及其涉及的装箱拆箱 1.1 基本用法1.1.1 属性1.1.2 方法 1.2 内部实现1.3 装箱1.4 拆箱1.5 object对象的相等性比较1.6 总结1.7 其他简单结构类 1.1 基本用法 命名空间: using System.Collections; 1.1.1 属性 Capacity:获取或设…

江苏省力学学会副理事长钱向东、邬萱一行来访天洑软件

近日,江苏省力学学会副理事长钱向东、邬萱率调研组一行来访天洑软件。 会上,双方就平台建设、成果转化、产品研发、品牌宣传、人才培养等方面开展了广泛深入的交流。江苏省力学学会副理事长钱向东、邬萱,分享了学会的平台优势和资源优势以及…

IP地址和端口

1. IP地址: 简介: IP 协议是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所 有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任 何厂家生产的计算机系统…

python 进程

1创建一个爬虫程序 import requests urls [https://www.cnblogs.com/#p{page}for page in range(1, 501) ]def craw(url):r requests.get(url)print(url, len(r.text))craw(urls[0])2定义单进程和多进程 import blob_spider import threading import timedef single_thread…

ubuntu20安装网络调试助手遇到缺少qt4相关库的问题

最近需要做套接字通讯的工作,最好是有一个网络调试软件能够接受或者发送套接字,测试代码能够正常通讯。windows下有很多,但是linux下比较少,使用广泛的是下面这一款。 1、安装 首先从网盘(链接: https://pan.baidu.c…

dom-to-image-more 使用

与网上不同的使用方式: 官网 dom-to-image-more - npm 这里不会出现两行缩略不行的bug yarn add dom-to-image-more 下面 生成图片并下载图片 const picture ref() const dom2img () > {var node picture.valuedomtoimage.toPng(node, { cacheBust: t…

LabVIEW高级CAN通信系统

LabVIEW高级CAN通信系统 在现代卫星通信和数据处理领域,精确的数据管理和控制系统是至关重要的。设计了一个基于LabVIEW的CAN通信系统,它结合了FPGA技术和LabVIEW软件,主要应用于模拟卫星平台的数据交换。这个系统的设计不仅充分体现了FPGA在…

C# 使用屏障来使多线程并发操作保持同步

写在前面 以下是微软官方对屏障类的介绍,System.Threading.Barrier 可用来作为实现并发同步操作的基本单元,让多个线程(参与者)分阶段并行处理目标算法。在达到代码中的屏障点之前,每个参与者将继续执行,屏障表示工作阶段的末尾&…

微信小程序调取相机实现拍照/录屏

1.效果 2.创建子组件 index.wxml代码 <xr-scene id"xr-scenecameraglb" ar-system bind:ready"handleReady" bind:ar-ready"handleARReady" > <!-- 初始化模型 --><xr-assets bind:loaded"handleAssetsLoaded">…

致远OA如何开发 第二篇

第二篇 开发环境以及工具 此栏目技术支持 技术大佬对栏目文章的支持 特别感谢 开发环境 win系统&#xff0c;linux系统&#xff0c;因为在安装的时候会判断是否符合标准服务系统&#xff0c;所以我们可以在安装的bat文件&#xff0c;或者shell文件中删除系统检测的代码&…

【Android】使用build.gradle.kt配置目标架构(abiFIlters)时报错 Val cannot be reassigned

一、 Groovy 配置abi 传统上我们会使用groovy语言的配置文件build.gradle来配置&#xff1a; 在app级别的build.gradle中的 android > defaultConfig 添加子项 ndk {abiFilters armeabi, armeabi-v7a, arm64-v8a, x86, x86_64 }二、出现错误的代码 新版本的默认使用kotli…

WhatsApp怎么营销引流?

随着移动互联网的普及&#xff0c;越来越多的企业开始利用社交媒体平台来进行推广和营销。其中&#xff0c;全球最流行的即时通讯软件之一 WhatsApp&#xff0c;为企业提供了一个新的营销渠道。但是&#xff0c;许多企业不知道如何利用 WhatsApp 进行营销引流。今天&#xff0c…

虚拟机网络配置及Moba工具的使用

A、设置IP和网关 1、设置IP [roothadoop00 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 &#xff08;修改如下标红内容&#xff0c;没有的就添加&#xff09; DEVICEeth0 HWADDR08:00:27:BD:9D:B5 #不用改 TYPEEthernet UUID53e4e4b6-9724-43ab-9da7-68792e611031…

淘宝镜像请求失败解决方法:request to https://registry.npm.taobao.org/vue-loader failed

npm install报错&#xff1a;request to https://registry.npm.taobao.org/vue-loader failed, reason: getaddrinfo ENOTFOUND registry.npm.taobao.org 解决&#xff1a;https://jingyan.baidu.com/article/acf728fd99b16ff8e510a301.html 查看镜像源&#xff1a;npm get re…

不停机迁移,TDengine 在 3D 打印技术中的“焕新”之路

小T导读&#xff1a;自 2021 年我们正式使用 TDengine 至今已接近三年&#xff0c;现在 TDengine 已经成熟应用于我们多个项目当中&#xff0c;凭借着强大的读写存储能力&#xff0c;为我司多项业务的核心数据保驾护航。近期我们团队刚好完成 TDengine 2.x 到 3.x 的数据迁移&a…

VAD语音分割算法详解

1 VAD算法介绍 1.1 语音基本概念 声波通过空气传播&#xff0c;被麦克风接收&#xff0c;通过采样、量化、编码转换为离散的数字信号&#xff0c;即波形文件。音量、音高和音色是声音的基本属性。 采样&#xff1a;原始的语音信号是连续的模拟信号&#xff0c;需要对语音进行…

2024区块链应用趋势,RWA实物资产化

作者 张群&#xff08;赛联区块链教育首席讲师&#xff0c;工信部赛迪特聘资深专家&#xff0c;CSDN认证业界专家&#xff0c;微软认证专家&#xff0c;多家企业区块链产品顾问&#xff09;关注张群&#xff0c;为您提供一站式区块链技术和方案咨询。 实物资产通证化&#xff0…