import pandas as pdimport numpy as npposition = pd.read_csv('position.csv')company = pd.read_csv('company_sql.csv',encoding='gbk')# np.NAN - - - C语言类型空值position.loc[position.city == '深圳','city'] = np.NAN1、fillna():对空值进行填充- position.fillna('深圳'),fillna方法是数据框级别的会针对所有的空值进行填充- 填充后赋值position = position.fillna('深圳')position.city = position.city.fillna('深圳')position.city == np.NAN # 直接进行逻辑判断是不行的,所以还是要使用fillna2、dropna():把所有空值的行砍掉- position.dropna();参数axis=0针对行,axis=1针对列position.dropna() 3、(1) duplicated():删除重复元素- position.duplicated(),返回的是bool数组,还是要变成索引切片- keep为duplicated里面的参数,keep='first',意为保留第一个遇到的;keep='last',意为保留最后一个遇到的- 第一个不会被判断成重复值,显示为False,下面有一样的了会变为True,则表示重复position[position.duplicated()]# 结果为空则表示是所有值都是唯一的,没有重复值a = position['city']a.duplicated()# keep为duplicated里面的参数,keep='first',意为保留第一个遇到的;keep='last',意为保留最后一个遇到的# 第一个不会被判断成重复值,显示为False,下面有一样的了会变为True,则表示重复- 不加~返回的是bool为True的值,表示为查找重复值,加上~返回的是False,表示查找不重复值;~代表反向a[~a.duplicated()](2) a.drop_duplicates()返回已经处理好的- drop_duplicates()更加简单,会直接把重复的值,排除掉- 如果要使用 bool 数组进行一些操作,则选择 duplicateda.drop_duplicates()