Pandas 常用数据判空处理参考

导读:本篇文章讲解 Pandas 常用数据判空处理参考,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

xlsxwriter 只能指定行或者列写 
openpyxl  只能逐单元写

判断某列是否有NaN

 df['col'].isnull().any()

判断某列是否全部为NaN 

df['col'].isnull().all()

查看表格哪些列是否全为NaN

 df.isnull().all()

df.isnull.any() 判断dataframe中所有的列是否有空值,若有则该列返回True,没有则该列返回False。

1、找出所有含有空值的行
DataFrame[DataFrame.isnull().T.any()]

2、找出含有空值的特定行和列

DataFrame[DataFrame[[‘column3’,‘column4’]].isnull().T.any()][[‘column3’,‘column4’]]3、代码实例
 

import pandas as pd
import numpy as np

n = np.arange(20, dtype=float).reshape(5,4)
n[0,0] = np.nan 
n[2,3] = np.nan
n[3,2] = np.nan
index = ['index1', 'index2', 'index3', 'index4', 'index5']
columns = ['column1', 'column2', 'column3', 'column4']
df = pd.DataFrame(data=n, index=index, columns=columns)

print(df)

print(df[df.isnull().T.any()])

print(df[df[['column3','column4']].isnull().T.any()][['column3','column4']])

4、为什么加转置
非转置:df.isnull().any(),得到的每一列求any()计算的结果,输出为列的Series。

转置:df.isnull().T.any(),得到的每一行求any()计算的结果,输出为行的Series。

列名重置有三种方法:
1、使用columns重命名:

import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data.columns =['公司','岗位','工作地点','工资','发布日期']

 

2.对指定列重命名可以使用rename()方法。默认是使用新的列名新建一个dataframe

import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期'})

3.pandas0.21重命名方法做了更改:rename()和set_axis()方法:

rename(),新增了参数axis,它的值为可以columns或者1,当参数为columns或1时,用于修改列名:

import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data=data.rename(columns={'字节跳动':'公司','数据产品经理':'岗位','北京':'工作地点','2-3.5万/月':'工资','09-03':'发布日期

 

rename()是对指定列名做更改,set_axis则是可以重新设置列名,inplace参数用于标记是否在原来的dataframe修改列名:

import pandas as pd
data=pd.read_csv('./data/job_info/job_info.csv',encoding='gbk')
data.set_axis(['公司','岗位','工作地点','工资','发布日期'],axis='columns',inplace=False)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/101572.html

(0)

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!