2021-09-08

数据读取和写入

pandas

构造DataFrame的方式:

import pandas as pd
pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],index=['a','b','c'],columns=['A','B','C'])

在这里插入图片描述

2.pd.DataFrame('A':[1,2,3],'B':[4,5,6],'C':[7,8,9])

在这里插入图片描述

data={'Name':["A","B","C","D"],'Location':["New York","Paris","London","Berlin"],'Age':[24,13,53,33]}
pd.DataFrame(data)
 

在这里插入图片描述

IPython.diaplay :打印出“美观的”DataFrame

import pandas as pd
from IPython.display import display
data={'Name':["A","B","C","D"],'Location':["New York","Paris","London","Berlin"],'Age':[24,13,53,33]}
data_pandas=pd.DataFrame(data)
display(data_pandas)

筛选:选择年龄大于30的所有行

 display(data_pandas[data_pandas.Age>30])

在这里插入图片描述

数据清洗

数据清洗:即发现并纠正数据文件中可识别错误,清理影响数据质量的”脏数据“。脏数据在这里是指对数据分析没有实际意义、格式非法、不在指定范围内的数据。

脏数据:空缺值、重复值、异常值

一、 空缺值的处理

python中一般用None和NaN表示空缺值

1.isnull()和nonull()函数判断是否存在空缺值
2.dropna()的作用是过滤有空缺值的行或列
3.fillna()的作用是对空缺值进行填充

1.判断空缺值

isnull()和nonull()函数判断是否存在空缺值
在这里插入图片描述
isnull()
在这里插入图片描述
nonull()
在这里插入图片描述

2.过滤含有空缺值的行或列

dropna()的作用是过滤有空缺值的行或列

dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)

参数:

参数意义
axis过滤行或列 行:0/index 列:1/columns
how过滤的标准 any:默认 删除全是缺失的行(列) all:删除只要含有缺失值的行(列)
thresh保留至少含有n个非NAN数值的行
subset删除指定行(列)空值数据
inplace是否用新生成的列表替换原列表

删除第一行空值数据

import pandas as pd
import numpy as np
df_obj=pd.DataFrame([[1,2,1],[2,np.NAN,4],[np.NAN,4,np.NAN]])
print(df_obj)
df_obj.dropna(axis=0,subset=[1])

结果
在这里插入图片描述
删除有空缺值的行

df_obj.dropna(axis=0)

结果:
在这里插入图片描述
删除有空缺值的列

df_obj.dropna(axis=1)

在这里插入图片描述

对空缺值进行填充

fillna()的作用是对空缺值进行填充

fillna(value=None,method=None,axis=None,inplace=False,limit=None)
参数意义
value指定固定值填充至空缺值位置
method表示填充方式,默认值为None “ffill" :前项填充 ”bfill":后项填充

用0填充空缺值

df_obj.fillna(value=0)

结果
在这里插入图片描述
前项填充

df_obj.fillna(method='ffill')

结果
在这里插入图片描述

二、重复值的处理

duplicated() 方法的语法格式:
是重复项,则返回True

duplicated(subset=None,keep="first")

drop_duplicated() 方法的语法格式:

drop_duplicates(subset=None,keep="first",inplace=False)
参数意义
subset用于识别重复的行(列) 默认:行
keepfirst:删除重复项并保留第一次出现的项 还有last或False
import pandas as pd
import numpy as np
df_obj=pd.DataFrame([[1,2,3],[1,2,3],[2,3,4]])
print(df_obj)
df_obj.duplicated(keep='last')

结果
在这里插入图片描述
因为第一行和第二行重复,且保留第二行,所以第一行为确定重复(True),要删除。

df_obj.drop_duplicates(keep='last')

结果
在这里插入图片描述

三、异常值处理

1.将含有异常值的样本删除
2.用具体值替换
3.视为空缺值
4.不处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值