首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python-pandas学习(三)Pandas缺失值处理

'''''''''

name:chuxy

keyword: python-pandas学习(三)Pandas缺失值处理

version:1.0

date:20190101

reference:小象社区

'''

importnumpyasnp

importpandasaspd

# example dataset

index=pd.Index(data=['Tom','Bob','Mary','James','Andy','Alice'],name='name')

data={

'age':[18,30,np.nan,40,np.nan,30],

'city':['BeiJing','Shanghai','Guangzhou','Shenzhen',np.nan,''],

'sex':[None,'male','female','male',np.nan,'unknown'],

'birth':['2000-02-10','1988-10-17',None,'1978-08-08',np.nan,'1988-10-17']

}

user_info=pd.DataFrame(data=data,index=index)

#将出生日期转换为时间戳

user_info['birth']=pd.to_datetime(user_info.birth)

print('示例数据集')

print(user_info)

print()

'''3.1什么是缺失值'''

# .isnull()找出缺失值

user_info.isnull()

print('3.1找出缺失值')

print(user_info)

print()

#过滤缺失值

user_info[user_info.age.notnull()]

print('3.1过滤缺失值')

print(user_info)

print()

'''3.2丢失缺失值'''

# dropna()丢失缺失值;可以设置更多的参数

user_info.age.dropna()

print('3.2丢失缺失值')

print(user_info)

print()

'''3.3填充缺失值'''

# fillna()

#使用一个标量填充:将所有缺失值填充为

user_info.age.fillna()

print('3.3填充缺失值fillna()')

print(user_info)

print()

# interpolate()

#默认使用线性插值

user_info.age.interpolate()

print('3.3填充缺失值interpolate()')

print(user_info)

print()

'''3.4替换缺失值'''

# replace

user_info.age.replace(40,np.nan)

print('3.4替换缺失值replace()')

print(user_info)

print()

#指定每列要替换的值

user_info.age.replace({'age':40,'birth':pd.Timestamp('1978-08-08')}, np.nan)

print('3.4替换缺失值replace() (2)')

print(user_info)

print()

'''3.5使用其他对象填充'''

age_new=user_info.age.copy()

age_new.fillna(20,inplace=True)

user_info.age.combine_first(age_new)

print('3.5使用其他对象填充')

print(user_info)

print()

output:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190102G1HAMR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券