pandas 空数据处理和数据过滤

1.pandas数据过滤

import pandas as pd
from pandas import DataFrame,Series
import numpy as np

dict1 = {'age':[12,23,34,45],
         'name':['小宁','小红','小兰','小花'],
         'sex':['男','女','男','女']}
df1 = pd.DataFrame(dict1,index = ['a','e','w','r'])
print(df1)
   age name sex
a   12   小宁   男
e   23   小红   女
w   34   小兰   男
r   45   小花   女
df1['英语'] = ['66','77','88','87']
df1['语文'] = ['66','77',np.NaN,'87']
df1['数学'] = ['66','77','88','87']
df1[df1.columns[3:]]

英语	语文	数学	address
a	66	66	66	
e	77	77	77	
w	88	NaN	88	
r	87	87	87	
s	NaN	NaN	NaN
	

pandas 空数据处理

isnull 函数判断是否含有空数据,如果有为True否则为False,notnull函数和isnull函数相反

df1.isnull()

age	name	sex	英语	语文	数学
a	False	False	False	False	False	False
e	False	False	False	False	False	False
w	False	False	False	False	True	False
r	False	False	False	False	False	False

对数据添加行和列:

df1

age	name	sex	英语	语文	数学
a	12	小宁	男	66	66	66
e	23	小红	女	77	77	77
w	34	小兰	男	88	NaN	88
r	45	小花	女	87	87	87
df1['address'] = ['上海',np.NaN,np.NaN,np.NaN,np.NaN]
df1.ix['s'] = ['32','红','55',np.NaN,np.NaN,np.NaN,np.NaN,]

age	name	sex	英语	语文	数学	address
a	12	小宁	男	66	66	66	上海
e	23	小红	女	77	77	77	NaN
w	34	小兰	男	88	NaN	88	NaN
r	45	小花	女	87	87	87	NaN
s	32	红	55	NaN	NaN	NaN	NaN

删除所有带nan的行:

df1.dropna(how = 'any',axis = 0)

age	name	sex	英语	语文	数学	address
a	12	小宁	男	66	66	66	上海

删除所有带nan的列:

df1.dropna(how = 'any',axis = 1)

age	name	sex
a	12	小宁	男
e	23	小红	女
w	34	小兰	男
r	45	小花	女
s	32	红	55

注意:axis 是表示行和列的参数,如个axis=1代表列,axis=0代表行

使用0填充数据,需要用到函数:fillna()

df1.fillna(0)
	age	name	sex	英语	语文	数学	address
a	12	小宁	男	66	66	66	上海
e	23	小红	女	77	77	77	0
w	34	小兰	男	88	0	88	0
r	45	小花	女	87	87	87	0
s	32	红	55	0	0	0	0

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值