pandas删除nan数据,筛选出nan的数据,筛选出非nan的数据,替换nan值 | 您所在的位置:网站首页 › dataframe数据替换 › pandas删除nan数据,筛选出nan的数据,筛选出非nan的数据,替换nan值 |
在处理缺失值的时候,总会遇到各种问题 目录 import pandas as pd data = pd.read_excel(r'测试数据.xlsx') print(data)先看看如下数据 1.删除全部为nan的行import pandas as pd data = pd.read_excel(r'测试数据.xlsx') print(data) # 删除表中全部为NaN的行 data = data.dropna(axis=0, how='all') print(data)输出: 2.删除含有nan的行import pandas as pd data = pd.read_excel(r'测试数据.xlsx') print(data) # 删除表中含有NaN的行 data = data.dropna(axis=0, how='any') print(data)输出: 3.删除全部为nan的列# 删除全部为nan的列 data = data.dropna(axis=1, how='all')数据如下: 输出: 4. 删除包含nan的列# 删除包含nan的列 data = data.dropna(axis=1, how='any')数据如下 输出: 5.删除指定某一列有nan,这样即可定位到所在行的index,然后对该index进行drop操作即可 df[np.isnan(df[‘open’])].index #定位某一列是否有nan直接drop对应indx即可删除该行 df.drop(df[np.isnan(df[‘open’])].index, inplace=True)数据如下: 输出: 6. df1 = df.dropna(axis=0, how=‘all’, subset=[‘d’, ‘c’]) #删除指定的两列都是空的行7.筛选出nan的数据df_nan = df[df['往来单位编号'].isna()] 8.筛选出非nan的数据 df_notnan = df[~df['往来单位编号'].isna()] 9.替换nan值df.fillna('', inplace=True) # 将nan替换为'',否则无法保存到MySQL10.有时候是空字符串的情况 nan_df = df[(df['xxx'].str.len() |
CopyRight 2018-2019 实验室设备网 版权所有 |