数据分析
1.读取数据信息
导入数据集
import pandas as pd
data = pd.read_csv('data/Titanic.csv')
data.head()
2.查看数据信息
①数据的基本信息
data.info()
②数据的行列名称
index:返回行标签
columns:返回列标签
data.columns
data.index
3.缺失值
①查看缺失值数量
data.isnull().sum()
②删除缺失值
axis:指定删除包含缺失值的行或列。默认值为 0,即删除包含缺失值的行;
how:指定删除规则。可以取 any 或 all。默认值是 any,表示只要列中有一个缺失值,就删除这一列;当取值为 all,表示只有当这一列的所有值都是缺失值时,才删除这一列;
data.dropna()
若要原数据进行更改 需要添加代码 inplace = True
data.dropna(inplace=True)
③填补缺失值
将 DataFrame 或 Series 中的缺失值用指定的值或方法进行填充,返回一个新的 DataFrame 或 Series。
value:指定填充缺失值的值。可以为标量、字典、Series。
method:指定填充缺失值的方法,常用的有 ffill(前向填充)和 bfill(后向填充)。
limit:用于控制前向或后向填充的次数上限。
此处是把所有缺失值用 * 填充
data.fillna('*',inplace=True)
4.重复值
①查看是否有重复值
duplicated():返回一个布尔型的 Series(True或者False),表示每个元素是否重复出现,第一次出现的元素不会判定为重复。
data.duplicated()
②删除重复值
drop_duplicates():返回一个移除了重复行的 DataFrame。
drop_duplicates(inplace=True)
data.drop_duplicates()
③重复值替换 replace
这里表示把男换成male,女换成female
data.replace({'男':'male','女':'female'},inplace=True)
5.异常值
①使用 describe()方法观察
data.describe()
count:样本数量。
mean:平均值。
std:标准差。
min:最小值。
25%:第一四分位数(下四分位数)。
50%:第二四分位数(中位数)。
75%:第三四分位数(上四分位数)。
max:最大值。
data['Embarked'].describe()
count 表示这个列中有多少个非空值,这里是 889。
unique 表示这个列中有多少个唯一值,这里是 3。
top 表示在这个列中出现次数最多的唯一值,这里是 ‘S’。
freq 表示在这个列中出现频率最高的唯一值出现了多少次,这里是 644 次。
观察最小值和最大值是否超出正常范围,例如数据不可能为负数但最小值为负数,则可认为该特征存在异常值。
观察平均值和中位数的差异,若两者差距较大,说明该特征可能存在较多的离群值和异常值。
观察第一和第三四分位数的差异,若差距较大,说明该特征的分布有可能存在异常和离群值。