Python按指定列的空值删除行的操作代码
更新时间:2024年01月25日 11:37:53 作者:对许
这篇文章主要介绍了Python按指定列的空值删除行的操作代码,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
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 '''
到此这篇关于Python如何按指定列的空值删除行?的文章就介绍到这了,更多相关Python删除行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python使用execjs执行包含中文参数的JavaScript
爬虫的开发过程中,往往需要对JS进行模拟,简单或者通用的还可以在Python中模拟或者找到对应的第三方库,但是复杂的就可能不好实现了,下面这篇文章主要给大家介绍了关于Python使用execjs执行包含中文参数的JavaScript的相关资料,需要的朋友可以参考下2022-03-03
在echarts中图例legend和坐标系grid实现左右布局实例
这篇文章主要介绍了在echarts中图例legend和坐标系grid实现左右布局实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-05-05
Ubuntu下使用python读取doc和docx文档的内容方法
今天小编就为大家分享一篇Ubuntu下使用python读取doc和docx文档的内容方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-05-05
Python的ORM框架中SQLAlchemy库的查询操作的教程
这篇文章主要介绍了Python的ORM框架中SQLAlchemy库的查询操作的教程,SQLAlchemy用来操作数据库十分方便,需要的朋友可以参考下2015-04-04


最新评论